RewriteCond:不支持非正则表达式'-f'的NoCase选项,将被忽略

时间:2011-12-12 18:47:59

标签: mod-rewrite

以下是我的.htaccess。它工作得很好,但我在error_log文件中出错:

  

[warn] RewriteCond:非正则表达式'-f'的NoCase选项              不受支持,将被忽略。

<Files .htaccess>
order allow,deny
deny from all
</Files>

#Options +FollowSymlinks
DirectoryIndex index.php
Options All -Indexes

RewriteEngine on
# remove trailing slash
RewriteRule ^(.*)/$ /$1 [L,R=301]

#Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]

RewriteRule ^part_(\d+)$        /detail.php?id=$1 [NC]
RewriteRule ^find_(.+)$     /search.php?q=$1 [NC]

2 个答案:

答案 0 :(得分:5)

不确定这是否有帮助,但根据此website,如果您在Apache错误日志中看到以下错误:

[warn] RewriteCond: NoCase option for non-regex pattern ‘-f’ is not 
       supported and will be ignored

您应该更改.htaccesshttpd.conf

中的以下行
RewriteCond %{REQUEST_FILENAME} !-f [NC]

RewriteCond %{REQUEST_FILENAME} !-f

请注意该行末尾缺少[NC]

答案 1 :(得分:0)

好吧,当我在bluehost上使用带有Simple Scripts Joomla 2.5.1的股票.htaccess文件时,我收到了这条消息。我修复它是注释掉htaccess文件中建议的符号链接指令:

## Can be commented out if causes errors, see notes above.
#Options +FollowSymLinks