1

就标题而言,我的 .htaccess 文件有问题,一切都应该设置好,但是我是否写了一些基本的东西

RewriteEngine on

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

显然,我三重检查了一切是否设置正常,并且最重要的是加载了 mod_rewrite。

感谢您的宝贵帮助!

4

2 回答 2

5

如果您放入文件中的每种 指令类型(即缓存、、、FilesMatchErrorDocument)都发生错误,那么我现在可以想到两个可能的选项:

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

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

于 2013-04-06T11:35:36.070 回答
0

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

你有没有试过这个:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^notexist.html$ /index.html

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

于 2013-04-06T10:57:01.247 回答