简单地URL重写不起作用

FBr*_*t87 5 iis iis-7 url-rewriting

我正在尝试设置IIS URL 重写功能,只是将任何URL请求发送到谷歌(作为测试):

            <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>
Run Code Online (Sandbox Code Playgroud)

我正在使用重写而不是重定向,因为我需要隐藏用户的URL.以上配置适用于Redirect,但不适用于Rewrite,为什么会这样?

当我点击http://example.com/blablabla时,我得到了404.4

我的目标是将用户定向到Google主页.

我安装了ARR,有什么想法吗?

Jeh*_*lio 3

如果您希望用户被定向到谷歌主页,您应该使用重定向,而不是重写。这不是“向用户隐藏 url”,而是在服务器端处理。

如果没有任何日志,我只能表明您的 IIS 正在尝试重写 google,向其请求一些不存在的页面,并且显然返回 404。例如,如果您的网站使用 http 而 google 服务器使用 https,则可能会发生这种情况。

我认为您还应该检查重定向和重写之间的区别,这篇文章是一个很好的开始。