0
我想轉換此阿帕奇htaccess的線web.cofig:如何在IIS7的Web.config文件中使用條件標籤中的匹配項?
的RewriteCond%{HTTP_HOST}^WWW(+)$ [NC]
重寫規則^ $ http://%1/ $ 1 [L(*)。 ,R = 302]
與這些代碼我可以重定向所有的請求與www。即使我的網站有太多域名。
我想轉換此阿帕奇htaccess的線web.cofig:如何在IIS7的Web.config文件中使用條件標籤中的匹配項?
的RewriteCond%{HTTP_HOST}^WWW(+)$ [NC]
重寫規則^ $ http://%1/ $ 1 [L(*)。 ,R = 302]
與這些代碼我可以重定向所有的請求與www。即使我的網站有太多域名。
我研究並找到了我的答案。在條件中使用變量,我們可以使用{C:1}。 1表示第一場比賽。我爲這個轉換ecxact答案是:
<rules>
<rule name="http Redirect" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
<add input="{SERVER_PORT_SECURE}" pattern="^0$" />
</conditions>
<action type="Redirect" url="http://{C:1}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="https Redirect" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
<add input="{SERVER_PORT_SECURE}" pattern="^0$" negate="true" />
</conditions>
<action type="Redirect" url="https://{C:1}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
等於:
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteCond %{HTTPS} ^off$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,QSA,R=302]
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,QSA,R=302]
好運