2013-06-08 32 views
38

Tôi không thể hiểu mục đích của {R: N}. bất cứ ai có thể vui lòng làm rõ khi nào sử dụng
{R:0} vs {R:1}Viết lại URL IIS {R: N} làm rõ

sử dụng ví dụ:

<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" /> 

Tôi đã nhìn thấy ScottGu sử dụng {R: 1}

http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-using-the-url-rewrite-extension.aspx

Trong khi đó, bên dưới có {R: 0}

http://weblogs.asp.net/owscott/archive/2009/11/27/iis-url-rewrite-rewriting-non-www-to-www.aspx

Đã có một cái nhìn tại liên kết dưới đây IIS nhưng không thể yên lặng tiêu hóa định nghĩa dưới đây:

Back-tài liệu tham khảo để mô hình điều kiện được xác định bởi {C: N} trong đó N là 0-9; tham chiếu ngược đến mẫu quy tắc được xác định bởi {R: N} trong đó N là từ 0 đến 9. Lưu ý rằng đối với cả hai loại tham chiếu ngược, {R: 0} và {C: 0}, sẽ chứa chuỗi phù hợp

Trả lời

53

theo tài liệu:

Khi một mô hình cú pháp ECMAScript được sử dụng, một back-tài liệu tham khảo có thể tạo bằng cách đặt ngoặc xung quanh một phần của mô hình mà phải nắm bắt được trở lại tham chiếu.

Vì vậy, lấy ví dụ mà sau trong tài liệu:

^(www\.)(.*)$ 

Và bằng cách sử dụng chuỗi đầu vào www.foo.com trong điều kiện, bạn sẽ có:

{C:0} - www.foo.com 
{C:1} - www. 
{C:2} - foo.com 

Để làm cho nó đơn giản :

  • {R:x} được sử dụng làm tham chiếu ngược từ mẫu quy tắc (<match url="...">).
  • {C:x} được sử dụng như tài liệu tham khảo lại từ mô hình điều kiện (<conditions><add input="{HTTP_HOST}" pattern="..."></conditions>)
  • Các 0 tài liệu tham khảo có chứa chuỗi đầu vào toàn bộ
  • Các 1 tham chiếu sẽ chứa phần đầu tiên của chuỗi phù hợp với mô hình trong ngoặc đầu tiên (), các 2 tham khảo thứ hai, vv ... đến số tham chiếu 9

Lưu ý:

Khi cú pháp mẫu "Ký tự đại diện" được sử dụng, tham chiếu ngược luôn là được tạo khi biểu tượng dấu hoa thị (*) được sử dụng trong mẫu. Số tham chiếu ngược được tạo khi "?" được sử dụng trong mẫu.

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Using_back-references_in_rewrite_rules

Các vấn đề liên quan