带有.htaccess编辑的错误500,但加载了mod_rewrite

时间:2013-04-06 09:40:30

标签: apache .htaccess mod-rewrite internal-server-error

作为标题,我的.htaccess文件出现问题,一切都应该设置好,但是我写了一些基本的东西

RewriteEngine on

它开始给我那个不错的500内部服务器错误。我在Apache服务器(UNIX)上的localhost上托管

显然我三重检查一切都设置得很好,并且最重要的是加载了mod_rewrite。

感谢您的宝贵帮助!

2 个答案:

答案 0 :(得分:5)

如果每个类型的指令都放在文件中(即缓存,FilesMatchErrorDocument等),则有两种可能我现在能想到的选择:

  1. .htaccess文件的编码与您正在运行的服务器不兼容。尝试将其转换为ANSI,然后再试一次(Apache不支持Byte Order Marks,因此您需要将其保存为ANSI或UTF-8,而不使用BOM。如果这不起作用:

  2. AllowOverride设置不正确,或者根本没有设置。如果您有权访问虚拟主机/目录配置,则需要通过在AllowOverride All容器中添加行<Directory>来启用它。

答案 1 :(得分:0)

当您尝试删除代码RewriteEngine on并且URL重新映射或URL重定向仍然运行良好时,您不必将该代码放在.htaccess文件中,用于HTTP服务器已配置重写引擎已打开。但是,如果您尝试删除它并重写或重定向停止,那么您必须在问题中包含所有.htaccess代码。然后,如果它是空的,那么如果你不打算申请一个RewriteEngine on,为什么你需要转动RewriteRule

你有没有试过这个:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^notexist.html$ /index.html

如果网址重新映射到 /index.html ,请尝试访问 yourdomain.com/notexist.html

相关问题