尝试删除 .htaccess 中的尾随反斜杠时出现 500 服务器错误



我几乎从不使用htaccess,所以也许很明显我做错了什么,但我发现了这行代码,据说它删除了尾随的反斜杠:

RewriteRule ^(.*)/$ $1 [R=301]

只是,自从我添加它以来,我总是收到 500 内部服务器错误。 事实上,任何重写规则都会导致此错误。下面我将放置我的 .htaccess 文件的全部内容(只有 3 行)。如果有人能看到可能导致此错误的原因,我将不胜感激。我正在使用Apache 2.4.4服务器并作为本地主机工作。谢谢。

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
RewriteRule ^(.*)/$ $1 [R=301]
听起来

mod_rewrite没有加载。你需要编辑你的httpd.conf(或者它可能被称为apache.conf),并确保这一行没有注释:

LoadModule rewrite_module modules/mod_rewrite.so

另请参阅:.htaccess:无效命令"RewriteEngine",可能拼写错误或由服务器配置中未包含的模块定义

这是

由于目录被mod_dir添加斜杠:

试试这个规则来狂热的500:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} s(.+?)/+[?s]
RewriteRule ^ /%1 [R=301,L]

并在其他浏览器中进行测试以避免 301 缓存。

相关内容

最新更新