IIS 7.0 URL 重写
IIS 7.0 URL REWRITE
我正在为 web.config 和 运行 中的一个站点设置到 WWW 的重定向,这是一个小问题。我在 web.config 中用于重写的代码如下:
<rewrite>
<rules>
<rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="example.com" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:0}" />
</rule>
</rules>
</rewrite>
我发现它实际上运行得有点太好了。由于 "example.com" 模式,我看到它现在正在重定向到我们在开发和登台上的实时站点,因为我们的 URL 布局如下:dev.example.com & staging.example.com。目前,我刚刚评论了对这些其他 web.config 的重写,但我想知道是否有更好的模式或选项来解决这个问题。
如果您只想要没有子域的根域,那么您应该在 HTTP_POST
部分编辑您的模式。
在模式前加一个^
,意思是开始于。所以如果 url 以 example.com
开头,那么它会被重定向到 www.example.com
.
如果是 dev.example.com
,这条规则将被忽略。
编辑您的示例:
<add input="{HTTP_HOST}" pattern="^example.com" />
我正在为 web.config 和 运行 中的一个站点设置到 WWW 的重定向,这是一个小问题。我在 web.config 中用于重写的代码如下:
<rewrite>
<rules>
<rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="example.com" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:0}" />
</rule>
</rules>
</rewrite>
我发现它实际上运行得有点太好了。由于 "example.com" 模式,我看到它现在正在重定向到我们在开发和登台上的实时站点,因为我们的 URL 布局如下:dev.example.com & staging.example.com。目前,我刚刚评论了对这些其他 web.config 的重写,但我想知道是否有更好的模式或选项来解决这个问题。
如果您只想要没有子域的根域,那么您应该在 HTTP_POST
部分编辑您的模式。
在模式前加一个^
,意思是开始于。所以如果 url 以 example.com
开头,那么它会被重定向到 www.example.com
.
如果是 dev.example.com
,这条规则将被忽略。
编辑您的示例:
<add input="{HTTP_HOST}" pattern="^example.com" />