url在codeigniter和IIS 8.5中重写问题

时间:2015-10-12 07:11:16

标签: php codeigniter iis url-rewriting

这是我的 web.config 文件。

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <system.webServer>
    <httpErrors errorMode="Detailed" />
        <rewrite>
            <rules>
                <clear />
                <rule name="Rewrite to index.php" enabled="true">
                    <match url="index.php|robots.txt|images|test.php" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="None" />
                </rule>
                <rule name="Rewrite CI Index" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
                    <match url=".*" ignoreCase="true" negate="false" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
                        <add input="{REQUEST_URI}" pattern="bnrmcrz" />
                        <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:0}" logRewrittenUrl="false" />
                </rule>            
            </rules>
        </rewrite>
        <httpRedirect enabled="false" destination="" />
    </system.webServer>
</configuration>

我需要一种方法来使URL不区分大小写,并从中删除index.php。

当我提供“ localhost / testProj ”时,它运行正常。下次我尝试输入“ localhost / TESTproj ”。它显示找不到的页面。我真正想要的是,无论提供文件夹名称的方式如何,如果拼写相同,它应该将我重定向到同一个文件夹。

请帮我解决这个问题。

由于

1 个答案:

答案 0 :(得分:0)

作为您的帖子我可以猜测您的控制器名称是testProj。因此,当您尝试访问TESTproj时,这不是一个存在的控制器。 Codeigniter通过404 Error

因此,如果您想访问TESTproj,请在routes.php文件中定义此内容。

$route['TESTproj'] = 'testProj';