在.htaccess中重写多个规则

在.htaccess中重写多个规则,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我不是mod重写方面的专家。我试图在根目录的.htaccess中重写多个规则,如下所示: RewriteEngine On #HEADER REDIRECTION RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} !^www\..+$ [NC] RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] #FINISH HEADER REDIRECTION #PREVENT I

我不是mod重写方面的专家。我试图在根目录的.htaccess中重写多个规则,如下所示:

RewriteEngine On

#HEADER REDIRECTION
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#FINISH HEADER REDIRECTION

#PREVENT IF NOT USER_AGENT
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule .* - [F]
#FINISH PREVENT IF NOT USER_AGENT

#PREVENT UNEXPECTED USER_AGENT STRING
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight  [OR]
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^aHMView 
RewriteRule .* - [F]
#FINISH PREVENT UNEXPECTED USER_AGENT STRING

#BYPASS STRANGERS
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://www.site.com [NC]
RewriteRule .* - [F]
#FINISH PYPASS STRANGERS
但是这些规则导致了内部服务器错误500

有什么错误吗?如果是,我应该如何正确书写


谢谢,

请尝试“Basic.htaccess代码语法检查器和验证程序”或“.htaccess验证程序v1.06”

您的规则已完成。它们为我在一个普通Apache2.2服务器上的空白htaccess文件中工作。您可能没有加载mod_rewrite。检查httpd.conf中的行,该行类似于:

LoadModule rewrite_module modules/mod_rewrite.so
未被注释掉。

在我的Apache 2.0处理程序(版本:20051115)上启用了
mod\u别名
mod\u重写
mod\u so
等。我已经可以在那里重写其他规则了。以上规则在我的服务器上不起作用。顺便问一下,你知道为什么
RewriteCond%{REQUEST\u METHOD}POST
通过
.htaccess
语法检查器返回错误吗?谢谢