RewriteCond:无法编译正则表达式

时间:2014-02-20 11:15:20

标签: regex apache .htaccess rewrite

我正在使用.htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} *!^www*.kerala\.local [NC]
RewriteRule (.*) http://www.kerala.local/$1 [L,R=301] 

我在浏览器中收到错误:

  

内部服务器错误

     

服务器遇到内部错误或配置错误   无法完成您的请求。

     

请联系服务器管理员webmaster@cyberotech.com和   告诉他们错误发生的时间,以及你可能做的任何事情   已经完成可能导致错误。

     

有关此错误的详细信息可能在服务器错误中可用   日志中。

/var/log/apache2/error.log说:

RewriteCond: cannot compile regular expression '*!^www*.kerala\\.local'

1 个答案:

答案 0 :(得分:2)

你的正则表达确实是错的。 (有杂散的星号)

请改用此代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]