Php htaccess NC标志不与RewriteCond一起工作

Php htaccess NC标志不与RewriteCond一起工作,php,.htaccess,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

我有以下设置:

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标志不起作用吗


非常感谢您的帮助。

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

您可以尝试加载mod_speling并在上执行
拼写检查,以使URL文件映射不区分大小写,但老实说,我不确定这是否适用于
-f
检查。您可能需要将所有内容路由到一个php脚本中,并让php脚本解决它