我正在运行 LAMP 服务器,这个 .htaccess 给我一个 500 错误。它的作用是过滤关键字并重定向到相应的域名。
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} xy|yz|xz
RewriteRule ^xyz.com
RewriteCond %{HTTP_HOST} ab|bc|ac
RewriteRule ^abc.net
<IfModule>
为什么它会给我一个 500 错误,我是否必须检查 IfModule 是否已安装,或者是否必须安装。
答案1
您没有正确关闭 IfModule 容器。您需要在末尾使用 </IfModule>。您只是忘记了 /
答案2
检查事项:
- mod_rewrite 模块已安装。
a2enmod rewrite
- 如果您的 httpd.conf/apache.conf 已
AllowOverride None
设置,您将收到错误。但我认为这是一个不同的错误。 - 您可能需要设置 RewriteBase 指令。
- 确保根据需要重新加载配置文件 -
apache2ctl restart