IIS重写规则,网址修改自己

时间:2018-01-24 10:51:28

标签: iis url-rewriting

我写了一条重写规则,将传入的请求重定向到正确的服务器。

这是我的web.config:

        <rules>
            <rule name="ToMonceau">
                <match url="test/(.*)" />
                <action type="Rewrite" url="http://10.5.5.83/{R:1}" />
                <serverVariables>
                    <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
                    <set name="HTTP_ACCEPT_ENCODING" value="" />
                </serverVariables>
            </rule>
        </rules>
        <outboundRules>
            <rule name="AddPrefix" preCondition="IsText" enabled="true">
                <match filterByTags="A, Img, Link, Script" pattern="(http://10.5.5.83/mantis/)?(/mantis/)?(.*)" />
                <conditions>
                    <add input="{URL}" pattern="(test/mantis)/(.*)" />
                </conditions>
                <action type="Rewrite" value="./{R:3}" />
            </rule>
            <rule name="RestoreAcceptEncofing" preCondition="NeedsRestoringAcceptEncoding">
                <match serverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)" />
                <action type="Rewrite" value="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" />
            </rule>
            <preConditions>
                <preCondition name="IsText">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/(.+)" />
                </preCondition>
                <preCondition name="NeedsRestoringAcceptEncoding">
                    <add input="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" pattern=".*" />
                </preCondition>
            </preConditions>
        </outboundRules>

当我转到http://localhost/test/mantis(我的服务器在这里托管螳螂)时,我的问题是,网址自动更改为http://localhost/mantis/,我必须再次添加“test /”并将其更改为{{ 3}}。我再次重新输入“test /”,这次显示了登录页面的螳螂。

当我尝试登录时问题仍然存在,通过删除“test /”部分,网址会不断变化。

如果我直接去我的螳螂没有重定向(http://localhost/mantis/login_page.php),一切都像魅力一样。

我的规则中缺少什么才能正确完成?

我在这里以螳螂为例,但我在不同服务器的每个站点主机上遇到同样的问题。

如果我的英语不完美,请提前致谢并对不起。

1 个答案:

答案 0 :(得分:0)

转到IIS管理器并单击URL重写:

  1. 保持模式。*
  2. 操作类型应为“重写”
  3. 重写网址:http://yourdesiredurl/ {R:0}