IIS 重定向后退?
IIS Redirect with a fall back?
在我帮助支持的网站上,他们有基于国家/地区的网站(en-de、en-au),他们想要关闭到主要两个网站(en-gb 和 en-us)的重定向。
该网站在 Microsoft 服务器上运行,而且我更倾向于 Apache/PHP。我目前已经设置了一个重定向,它重定向 en-au url 并将它们带到 en-gb 上的相同 url。因此,如果他们在 en-au/some-url 上,它将把他们发送到 en-gb/some-url。
我唯一的问题是如果 en-gb 不存在相同的 url。在 IIS 上有没有办法设置回退?因此,如果它从重定向导致 404,它会将它们发送到主页?
添加另一个 url 重写来处理 404,下面会将所有 404 引导回您的主页。
<rewrite>
<rules>
<rule name="Redirect404" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" url="/YourHomePage.html" />
</rule>
</rules>
</rewrite>
您还可以添加自定义错误页面来处理 404
http://www.iis.net/configreference/system.webserver/httperrors/error
在我帮助支持的网站上,他们有基于国家/地区的网站(en-de、en-au),他们想要关闭到主要两个网站(en-gb 和 en-us)的重定向。
该网站在 Microsoft 服务器上运行,而且我更倾向于 Apache/PHP。我目前已经设置了一个重定向,它重定向 en-au url 并将它们带到 en-gb 上的相同 url。因此,如果他们在 en-au/some-url 上,它将把他们发送到 en-gb/some-url。
我唯一的问题是如果 en-gb 不存在相同的 url。在 IIS 上有没有办法设置回退?因此,如果它从重定向导致 404,它会将它们发送到主页?
添加另一个 url 重写来处理 404,下面会将所有 404 引导回您的主页。
<rewrite>
<rules>
<rule name="Redirect404" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" url="/YourHomePage.html" />
</rule>
</rules>
</rewrite>
您还可以添加自定义错误页面来处理 404
http://www.iis.net/configreference/system.webserver/httperrors/error