只是 URL 重写不起作用
Simply URL Rewrite not working
我正在尝试设置一个 IIS URL Rewrite 函数来简单地将任何 URL 请求发送到 google(作为测试):
<rule name="Intercept" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="google-homepage-url-here" appendQueryString="false" logRewrittenUrl="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="example.com$" />
</conditions>
</rule>
我正在使用 Rewrite 而不是 Redirect,因为我需要对用户隐藏 URL。上面的配置适用于重定向但不适用于重写,这是为什么?
当我点击 http://example.com/blablabla 时,我得到了 404.4
我的目标是将用户定向到 google 主页。
我安装了 ARR,有什么想法吗?
如果您希望用户被定向到 google 主页,您应该使用重定向,而不是重写。那不是 "hiding url from user" 而是在服务器端处理。
没有任何日志,我只能建议您的 IIS 正在尝试重写 google,要求它提供一些不存在的页面,显然 returns 404。如果您的网站使用 http,则可能会发生这种情况例如,google 服务器使用 https。
我认为您还应该检查重定向和重写之间的区别,this文章是一个好的开始。
我正在尝试设置一个 IIS URL Rewrite 函数来简单地将任何 URL 请求发送到 google(作为测试):
<rule name="Intercept" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="google-homepage-url-here" appendQueryString="false" logRewrittenUrl="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="example.com$" />
</conditions>
</rule>
我正在使用 Rewrite 而不是 Redirect,因为我需要对用户隐藏 URL。上面的配置适用于重定向但不适用于重写,这是为什么?
当我点击 http://example.com/blablabla 时,我得到了 404.4
我的目标是将用户定向到 google 主页。
我安装了 ARR,有什么想法吗?
如果您希望用户被定向到 google 主页,您应该使用重定向,而不是重写。那不是 "hiding url from user" 而是在服务器端处理。
没有任何日志,我只能建议您的 IIS 正在尝试重写 google,要求它提供一些不存在的页面,显然 returns 404。如果您的网站使用 http,则可能会发生这种情况例如,google 服务器使用 https。
我认为您还应该检查重定向和重写之间的区别,this文章是一个好的开始。