可以';t从IIS 7中的kohana URL中删除index.php


Can't get index.php removed from kohana URL in IIS 7

我知道已经有其他几篇关于这个主题的帖子了,但我已经尝试了他们所说的一切,但我似乎无法让它发挥作用。

我在中安装了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在第一次尝试时就很有魅力。