的.htaccess带来500内部服务器错误
问题描述:
我有这个.htaccess文件:的.htaccess带来500内部服务器错误
RewriteEngine On
RewriteBase/
RewriteRule ^/(.*)/(.*)/(.*)$ index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]
,当我尝试访问该网页它给了我“500内部服务器错误”。
我在做什么错?
答
它适用于我 - 检查你是否有mod_rewrite
启用像@Panama杰克建议。
a2query -m rewrite
如果不说启用,启用它:
a2enmod rewrite
service apache2 restart
而且你可能想删除规则中第一个斜杠,如果你的基础是/
,所以就变成:
RewriteRule ^(.*)/(.*)/(.*)$ index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]
答
我假设你正在尝试将流量引导到网址的index.php?pageLevel1 = $ 1 & pageLevel2 = $ 16 & pageLevel3 = $ 3
显示500错误是因为它无法理解规则^ /(。 )/()/(。*)$
请参考下面的指导,
https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
+0
OP已经解决了这个问题:http://stackoverflow.com/questions/33493187/htaccess-brings-500-internal-server-error#comment54770673_33493187 – hjpotter92
你可能没有启用mod_rewrite的。你需要检查你的日志。但是,如果它没有启用它不知道什么是RewriteEngine,并会得到500错误 –
你是**正确的**。该模块未被激活。谢谢 –