htaccess NC标志不与RewriteCond一起使用

时间:2013-12-24 19:57:31

标签: php .htaccess

我有以下设置:

domain.com/weeklyad中的用户类型

在我的目录根目录中命名为weeklyAd.php的文件

以及我的.htaccess文件中的以下内容:

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.php -f [NC]
    RewriteRule ^(.*)$ $1.php [L]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]*)$ "index.php?loc=$1" [L]

我希望第一组检查能够匹配,但它会进入第二次检查。任何想法为什么NC标志不起作用?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这不是NC标志的工作方式,它适用于不区分大小写的模式匹配,不适用于-f-d检查(不与正则表达式/模式相关)。

您可以尝试的是加载mod_speling并执行CheckSpelling On以使URL文件映射不区分大小写,但我老实说不确定这是否适用于-f检查。您可能需要将所有内容都路由到php脚本中并让php脚本弄明白。