我知道已经有其他几篇关于这个主题的帖子了,但我已经尝试了他们所说的一切,但我似乎无法让它发挥作用。
我在中安装了php-kohana框架http://localhost/kohana它正在发挥作用。问题是我无法从我的URL中删除/index.php/。
我已经尝试将.htaccess文件从安装导入IIS URL重写模块,但没有成功。
我的引导程序是以下
Kohana::init(array(
'base_url' => '/kohana',
'index_file' => ''
));
我放在/kohana目录中的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>
我也尝试过这个页面上的重写规则
似乎什么都不管用。如果我去http://localhost/kohana/index.php/welcome它是有效的。如果我去http://localhost/kohana/welcome我从IIS得到一个404错误(不是kohana中的404)。
我觉得我的头撞在墙上了,有什么想法吗?
您的web.config文件还可以,我正在使用相同的文件,从未遇到任何问题。我想问题可能出在你的bootstrap.php中。试试这个:
Kohana::init(array(
'base_url' => '/kohana/',
'index_file' => FALSE
));
我遇到了同样的问题,我下载了这个文件http://www.iis.net/downloads/microsoft/url-rewrite
然后我重新打开IIS,看到有一个新选项"URL重写"。在URL Rewrite的右栏中有一个标记为"导入规则…"的链接,所以我导入了".htaccess"并删除了"RewriteBase/"行,因为它引发了一个错误。然后,问题解决了!
循序渐进:
- 下载/安装http://www.iis.net/downloads/microsoft/url-rewrite
- 转到IIS管理器:sites/[YOUR_DOMAIN]
- 打开新模块"URL重写"
- 打开右侧链接"导入规则…"
- 导入".htaccess"文件并删除"RewriteBase/"行
- 保存
好吧,我希望这能帮助到别人,因为我没有找到任何这样的循序渐进的方法来解决我的问题。
对不起我的英语。
我放弃了,在Windows服务器上使用Apache。删除index.php在第一次尝试时就很有魅力。