我已经为此工作了几个小时,现在正试图让它发挥作用。我有一个 CodeIgniter 网站,曾经在 Apache 服务器上运行良好。我使用 Apache URL Rewriter 作为 URL 来隐藏 index.php。由于某种原因,我无法让它在 IIS 上运行。我用谷歌搜索并提出了几个不同的选项,但有些选项要么不起作用,要么将我重定向到我的根目录。
我正在尝试像这样重写 URLhttp://domain.com/v2.3.1/index.php/test
以下是我的规则web.config
file:
<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
- 这将带我进入我的主页
however
http://domain/v2.3.1/test
- 会带我回到http://domain
但 URL 永远不会改变http://domain/v2.3.1/test
规则没有任何改变。我的规则位于错误的目录中。网站根目录不是域根目录,它位于子目录中。使用 IIS,您需要拥有web.config
在您想要重写 URL 的同一目录中。
经过几个小时的摸索,我终于想通了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)