url 重写 ->对于非 www 到 www - 哪个更好以及如何? (站点级别或应用程序级别)
我正在为一个基于以下内容的网站进行 url 重写(通配符) 这个博客文章。这是我尝试过的:
<rewrite>
<rules>
<rule name="Redirect example.com 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>
这些代码工作得很好,我们可以手动将它们添加到网站的 web.config
中,或者在 IIS 中使用 url 重写。
我的问题是我的 IIS 上安装了许多网站(域和子域 - net 、 com 、 org ),我必须为所有这些网站重复工作!
是否可以使用另一种方式将所有网站的非 www 重定向到 www(站点级别或应用程序级别)?如果应用程序级别是可能的,我应该更改哪些配置文件?您能告诉我们正确的通配符或正则表达式吗?
I'm doing url rewriting (Wildcards) for a sigle web site based on
this blog post. This is what I tried:
<rewrite>
<rules>
<rule name="Redirect example.com 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>
These codes works perfect and we can add them manually to web.config
of web site or use url rewrite in IIS.
My problem is I have many web sites (domains and subdomains - net , com , org) installed on my IIS and I have to do a repeated job for all of them!
Is it possible to use another way for redirecting non www to www (site level or application level) for all web sites? If application level is possible which configuration files should I change? Would you please show us the correct wildcards or regular expressions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以编辑
applicationHost.config
(位于%systemroot%\System32\inetsrv\config
目录),使其包含 IIS 安装的通用 URL 重写规则;以下两个规则(一个用于 HTTP,另一个用于 HTTPS 请求,如果需要)正是您所追求的:话虽这么说,但我认为不可能将给定的一组规则限制到特定的应用程序池。
You may edit your
applicationHost.config
(int the%systemroot%\System32\inetsrv\config
directory) so that it includes common url rewriting rules for your IIS installation; the following two rules (one for HTTP, the other for HTTPS requests, if needed) do exactly what you are after:That being said, I think it is not possible to restrict a given set of rules to a specific application pool, however.