就标题而言,我的 .htaccess 文件有问题,一切都应该设置好,但是我是否写了一些基本的东西
RewriteEngine on
它开始给我很好的 500 内部服务器错误。我在 Apache 服务器 (UNIX) 上的 localhost 上托管
显然,我三重检查了一切是否设置正常,并且最重要的是加载了 mod_rewrite。
感谢您的宝贵帮助!
就标题而言,我的 .htaccess 文件有问题,一切都应该设置好,但是我是否写了一些基本的东西
RewriteEngine on
它开始给我很好的 500 内部服务器错误。我在 Apache 服务器 (UNIX) 上的 localhost 上托管
显然,我三重检查了一切是否设置正常,并且最重要的是加载了 mod_rewrite。
感谢您的宝贵帮助!
如果您放入文件中的每种 指令类型(即缓存、、、FilesMatch
等ErrorDocument
)都发生错误,那么我现在可以想到两个可能的选项:
您文件的编码.htaccess
与您正在运行的服务器不兼容。尝试将其转换为 ANSI,然后再试一次(Apache 不支持Byte Order Marks,因此您需要将其保存为 ANSI 或 UTF-8,无需 BOM)。如果这不起作用:
AllowOverride
设置不正确,或根本没有设置。如果您有权访问虚拟主机/目录配置,则需要通过AllowOverride All
在<Directory>
容器中添加该行来启用它。
当您尝试删除代码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。