【问题标题】:web.config rewrite rules issue?web.config 重写规则问题?
【发布时间】:2012-12-06 09:30:33
【问题描述】:

我使用 IIS 7 URL 重写模块 2 将我的 .htaccess 文件转换为 web.config。

在我的 apache 服务器上使用 .htaccess 时,一切正常。然而,当我在我的 IIS 7 服务器上使用我的 web.config 时,一切都变糟了。

我有 3 个管理页面:addcharacter.php、deletecharacter.php、editcharacter.php

代码是:

    <li><a href='admin/addcharacter' title='Add Character'>Add Character</a></li>
    <li><a href='admin/deletecharacter' title='Delete Character'>Delete Character</a></li>
    <li><a href='admin/editcharacter' title='Edit Character'>Edit Character</a></li>

问题出在哪里,一旦我转到第一个链接:

www.mywebsite/admin/addcharacter -- 第一次工作正常

如果我切换到另一个链接(不管它是什么链接),它会再次附加管理员

www.mywebsite/admin/admin/目标页面

我认为它与 web.config 文件有关,因为这是唯一的区别。

这是我的配置文件的一部分:

   <rule name="Imported Rule 9">
                    <match url="^logout$" ignoreCase="false" />
                    <action type="Rewrite" url="logout.php" />
                </rule>
                <rule name="Imported Rule 10">
                    <match url="^admin$" ignoreCase="false" />
                    <action type="Rewrite" url="admin.php" />
                </rule>
                <rule name="Imported Rule 11">
                    <match url="^admin/([A-z][a-z]+)/?$" ignoreCase="false" />
                    <action type="Rewrite" url="admin.php?action={R:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>

有什么想法吗?

【问题讨论】:

  • 这些规则似乎与 addcharacter.php、deletecharacter.php 或 editcharacter.php 没有任何关系

标签: php iis-7 url-rewriting web-config


【解决方案1】:

我相信问题在于您的链接,而不是重写规则。您不应该使用相对链接,而是使用绝对链接。当您在www.mywebsite/admin/addcharacter 上并单击链接admin/anotherpage 时,浏览器将发送对www.mywebsite/admin/admin/anotherpage 的请求。这就是相对链接的工作方式,服务器对此无能为力。但是,您应该在 Apache 服务器上遇到同样的问题。

所以你的链接应该是:

<li><a href='/admin/addcharacter' title='Add Character'>Add Character</a></li>
<li><a href='/admin/deletecharacter' title='Delete Character'>Delete Character</a></li>
<li><a href='/admin/editcharacter' title='Edit Character'>Edit Character</a></li>

【讨论】:

    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多