2013-05-10 60 views
0

这些年来,我一直使用相同的.htaccess来控制Apache网址重写了,但是现在我发现了以下错误:奇怪NOCASE误差在.htaccess

[Wed May 08 17:14:16 2013] [warn] RewriteCond: NoCase option for non-regex pattern '-f' is not supported and will be ignored. 

[Wed May 08 17:14:16 2013] [warn] RewriteCond: NoCase option for non-regex pattern '-d' is not supported and will be ignored. 

[Wed May 08 17:14:16 2013] [warn] RewriteCond: NoCase option for non-regex pattern '-l' is not supported and will be ignored. 

我的.htaccess是如下所示:

# << Friendly URL's 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php 

# >> Friendly URL's 

#RewriteCond %{HTTP_HOST} ^mydomain\.com\.br$ [OR] 
#RewriteCond %{HTTP_HOST} ^www\.mydomain\.com\.br$ 
#RewriteRule ^/?$ "http\:\/\/www\.mydomain\.com\.br\/" [R=301,L] 

RewriteCond %{HTTP_HOST} !^www.mydomain.com.br$ 
RewriteRule ^(.*)$ http://www.mydomain.com.br/$1 [R=301] 

由于我对.htaccess的用法不是很了解,所以我不知道发生了什么。事实上,我很久以前就已经学会了一点关于.htaccess的知识来构建这个文件,但是它不再工作。有人可以给我一个关于如何纠正这个错误的帮助吗?

非常感谢!

+0

如果您由BlueHost托管:http://wordpress.org/support/topic/rewritecond-nocase-option-for-non-regex-pattern-f – cheesemacfly 2013-05-10 20:19:32

回答

2

警告消息并不适用于任何在你表现出的.htaccess文件中的行,因为有任何的发言没有设定NOCASENC)选项。

它们必须来自其他.htaccess文件或apache配置文件,如果您与其他人共享服务器,则可能与您无关。在任何情况下,警告消息都不表示任何严重的问题,只是NC选项被输入到了不需要的地方而没有任何效果。

如果这是你自己的服务器,或者如果你是在控制它,你可以检查这些其他文件,并查找包含-d-f,或-l并具有NC选项RewriteCond语句。然后安全地删除NC选项以摆脱警告消息。例如改变对这些警告消息

RewriteCond %{REQUEST_FILENAME} !-f [NC] 

RewriteCond %{REQUEST_FILENAME} !-f 

更多信息,可以发现here