我知道这个话题已经有其他一些帖子了,但我已经尝试了他们所说的所有内容,而且我似乎无法让它发挥作用。
我在http://localhost/kohana安装了php kohana框架,它正在运行。问题是我无法从我的URL中删除/index.php/。
我尝试将安装中的.htaccess文件导入到IIS URL Rewrite模块中,但没有运气。
我的引导程序如下
Kohana::init(array(
'base_url' => '/kohana',
'index_file' => ''
));
我放入/ kohana direcotry的web.config看起来像是
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(?:application|modules|system)\b.*" ignoreCase="false" />
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
<rule name="Imported Rule 2">
<match url=".*" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
我还尝试了this page
上的重写规则似乎没什么用。如果我去http://localhost/kohana/index.php/welcome它就行了。如果我转到http://localhost/kohana/welcome,我会从IIS收到404错误(而不是kohana中的404错误)。
我觉得自己正在撞墙,任何想法?
答案 0 :(得分:1)
你的web.config文件没问题,我使用的是同样的,从来没有遇到任何问题。 我认为问题可能在你的bootstrap.php中。试试这个:
Kohana::init(array(
'base_url' => '/kohana/',
'index_file' => FALSE
));
答案 1 :(得分:1)
我遇到了同样的问题,我下载了这个文件http://www.iis.net/downloads/microsoft/url-rewrite
然后我重新打开IIS,看到有一个新选项“URL Rewrite”。在URL的右侧栏中,Rewrite有一个标记为“Import Rules ...”的链接,因此我导入了“.htaccess”并删除了“RewriteBase /”这一行,因为它引发了一个错误。然后,问题解决了!
好吧,我希望这对某人有所帮助,因为我没有像这样一步一步地解决我的问题。
抱歉我的英文。
答案 2 :(得分:0)
我刚放弃并在我的Windows服务器上使用Apache。删除index.php就像第一次尝试时的魅力一样。