Tôi có quy tắc viết lại, thay đổi biến máy chủ với giá trị của tên miền phụ. này hoạt động trên subdomain.mydomain.nl/somethinghere nhưng không phải trên subdomain.mydomain.nlViết lại biến máy chủ trong IIS 7.5
<rule name="Change code" enabled="true" patternSyntax="ECMAScript" stopProcessing="false">
<match url=".*" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{SERVER_NAME}" pattern="(www\.)?(\w+)\.mydomain\.nl" />
<add input="{SERVER_NAME}" pattern="^www.mydomain.nl.*" negate="true" />
<add input="{SERVER_NAME}" pattern="^mydomain.nl.*" negate="true" />
</conditions>
<serverVariables>
<set name="MYVARIABLE" value="{C:2}" />
</serverVariables>
<action type="None" />
</rule>
Tôi đã thử nghiệm 2 url: 1: subdomain.mydomain.nl/somethinghere 2: subdomain.mydomain.nl
tôi lấy biến trong PHP với đoạn mã sau:
echo $_SERVER['MYVARIABLE'];
trong trường hợp của URL 1, sản lượng này là "tên miền phụ".
Trong trường hợp URL 2, đầu ra của điều này là "".
Kết quả của URL 1 là chính xác, nhưng đầu ra của URL 2 cũng phải là "tên miền phụ".
Tôi đã chạy một dấu vết của cả hai yêu cầu và cả hai đều cho thấy rằng quy tắc đang được khớp và được thực thi.
Có ai có thể giúp tôi không?
Cảm ơn bạn rất nhiều vì câu trả lời của bạn, đây là giải pháp. Thật kỳ lạ là tôi không thể tìm thấy tài liệu này bất kỳ lúc nào. – user1071188
Để đặt tiêu đề yêu cầu, cần thêm HTTP_. Đây là tài liệu [ở đây] (http://learn.iis.net/page.aspx/665/url-rewrite-module-20-configuration-reference/#Setting_Server_Variables) (xem "Lưu ý về yêu cầu tiêu đề"). Những gì cũng câu đố tôi mặc dù là lý do tại sao thiết lập một tiêu đề yêu cầu luôn luôn hoạt động nhưng thiết lập một biến máy chủ không phải lúc nào cũng có vẻ làm việc. –
Cảm ơn người đàn ông. bạn đã cứu cuộc đời tôi! –