【问题标题】:IIS 7 URL RewritingIIS 7 URL 重写
【发布时间】:2012-12-26 18:47:57
【问题描述】:

我已经为此工作了几个小时,现在试图让它发挥作用。我有一个 CodeIgniter 网站,它曾经在运行良好的 Apache 服务器上。为了隐藏 index.php,我使用了 Apache URL Rewriter 作为 URL。出于某种原因,我无法让它在 IIS 上运行。我用谷歌搜索了它并想出了几个不同的选项,但有些要么不起作用,要么将我重定向到我的根目录。

我正在尝试像这样重写 URL http://domain.com/v2.3.1/index.php/test

以下是我在web.config 文件中的规则:

 <rewrite>
        <rules>
             <rule name="Clean URL" stopProcessing="true">
                <match url="^(.*)$" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>

当前配置会将我送回我的根目录。我的网站位于以下示例 URL:

http://domain/v2.3.1 - 这会将我带到我的主页

然而

http://domain/v2.3.1/test - 将带我回到http://domain,但网址不会从http://domain/v2.3.1/test 更改

【问题讨论】:

    标签: codeigniter iis iis-7 url-rewriting


    【解决方案1】:

    规则没有改变。我在错误的目录中有规则。网站根目录不是域根目录,它位于子目录中。使用 IIS,您需要将 web.config 放在要重写 URL 的同一目录中。

    敲了几个小时后,我终于弄明白了。

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2012-10-29
      • 2011-08-18
      相关资源
      最近更新 更多