我想将所有www流量重定向到非www流量
我已将此复制到我的web.config
中
<system.webServer> / <rewrite> / <rules>
<rule name="Remove WWW prefix" >
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.example\.com" />
</conditions>
<action type="Redirect" url="http://example.com/{R:1}"
redirectType="Permanent" />
</rule>
根据此帖子
如何将带有“www”的URL重定向到不带“www”的URL,或反之亦然?
但我收到了一个500内部服务器错误。
9条答案
按热度按时间imzjd6km1#
您可以考虑一种不同的方法:
但是,这将执行302重定向,因此建议进行一点调整:
此操作将返回301 Moved Permanently(永久移动)。
avkwfej42#
如果你直接复制了它,那么你的
web.config
中有不正确的标记您需要
这行字写着
声明您需要将config放在
web.Config
中的该位置。<system.webServer>
是web.Config
文件的configSection之一。请确保首先为IIS7安装了URL Rewrite module
上面的页面讨论了将HTTP重定向到HTTPS,但是这个概念仍然适用于WWW到非WWW
此外,这里还有一些detailed information,说明这一切是如何结合在一起的。
bttbmeg03#
mtb9vblg4#
7vhp5slm5#
您可以使用https和www重定向。(您需要更改“示例”)
avwztpqn6#
基于用户151323的答案,以下是Azure用户的完整答案,这些用户还希望阻止用户从
azurewebsites.net
子域访问站点(这将进入主类中的Global.asax
(对于MVC用户为MvcApplication
)):tsm1rwdh7#
我知道这个主题很古老,似乎已经被淘汰了。但是,在每个人的global.asax建议中加上一个检查您是否在本地工作的选项可能会很有用。这样,在使用IIS Express进行开发的过程中,您的站点就不会尝试重定向到'www'子域。
大致如下:
gjmwrych8#
IIS可以自动为您执行此操作:
选择主域,即完成。
(If您尚未安装URL重写模块,请安装该模块:(第10页)
mqkwyuun9#
通过编写规则,您可以在服务器级别实现将非www重定向到www,也可以在IIS中实现。
此规则将起作用,但请注意,只有在IIS服务器上安装了URL重写时,此规则才起作用。如果IIS服务器上未安装URL重写,则此规则将不起作用。
为了在您的服务器上安装URL重写,然后到这个官方网站link并下载扩展到您的服务器上并安装它。之后,重新启动IIS服务器,它就会工作。
网址重写扩展官方网站链接:https://www.iis.net/downloads/microsoft/url-rewrite