我想将这个apache .htaccess行转换为web.cofig:
RewriteCond%{HTTP_HOST} ^ www。(。+)$ [NC]
RewriteRule ^(。*)$ http://%1/ $ 1 [L,R = 302]
使用这些代码,我可以使用www重定向所有请求。即使我的网站有太多域名。
答案 0 :(得分:0)
我研究并找到了答案。在我们可以使用{C:1}的条件下使用变量。这是第一场比赛。我对此转换的回答是:
<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]
祝你好运