web.config: 重定向 301 无法正常工作
web.config: redirect 301 doesn't work properly
我想对一个站点上的所有请求(还有图像、文档和其他文件)进行 301 重定向到另一个站点的主页.
我尝试将 web.config 放在站点的根目录中,然后插入此代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
<httpRedirect enabled="true" destination="http://www.newsite.com/" httpResponseStatus="Permanent" />
</system.webServer>
</location>
</configuration>
但是 web.config 上的这段代码问题是如果我数字:
http://www.oldsite.com/file.html
浏览器将我重定向到:http://www.newsite.com/file.html
但我需要所有重定向都在主页上。
我该怎么做?
您需要设置 exactDestination="true"
使目的地成为绝对:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
<httpRedirect exactDestination="true" enabled="true" destination="http://www.newsite.com/" httpResponseStatus="Permanent" />
</system.webServer>
</location>
</configuration>
参见:https://www.iis.net/configreference/system.webserver/httpredirect
我想对一个站点上的所有请求(还有图像、文档和其他文件)进行 301 重定向到另一个站点的主页.
我尝试将 web.config 放在站点的根目录中,然后插入此代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
<httpRedirect enabled="true" destination="http://www.newsite.com/" httpResponseStatus="Permanent" />
</system.webServer>
</location>
</configuration>
但是 web.config 上的这段代码问题是如果我数字: http://www.oldsite.com/file.html
浏览器将我重定向到:http://www.newsite.com/file.html
但我需要所有重定向都在主页上。
我该怎么做?
您需要设置 exactDestination="true"
使目的地成为绝对:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
<httpRedirect exactDestination="true" enabled="true" destination="http://www.newsite.com/" httpResponseStatus="Permanent" />
</system.webServer>
</location>
</configuration>
参见:https://www.iis.net/configreference/system.webserver/httpredirect