.htaccess 文件几乎为空,导致 500 错误响应

.htaccess 文件几乎为空,导致 500 错误响应

我创建了一个名为“rewrite”的测试目录,并.htaccess在里面放置了一个带有重写规则的文件。

当我通过浏览器访问该 URL 时,出现 500 内部服务器错误。

所以我以为是我的重写语法出了问题,并尝试了一些更改,结果还是一样。然后我在每一行上用 # 注释掉所有内容。结果还是一样。

然后我注意到该目录没有出现在其父目录中(没有索引文件)。

因此我尝试将文件名改为.htaccess_bad,然后目录就出现了。

然后我将其改回 .htaccess 并清空该文件,因此它是一个空白文件。该目录仍然显示。

最后,我在 .htaccess 文件中添加了一个 #,然后目录又消失了。

我认为问题可能是父目录有一个 .htaccess 文件,其重写规则上带有 [R] 标志,但删除该文件并不能解决问题。

关于下一步该尝试什么或为什么会发生这种情况,有什么帮助吗?


快速更新:

即使有一个换行符也会引起问题。(所以它似乎必须是空的)。

答案1

我猜你的.htaccess 文件是DOS格式化的,并且需要格式化Unix

答案2

不要以 UTF-8 编码保存 .htaccess 并将其转换为常规 ansi。就我而言,服务器不喜欢文件开头的 BOM 内容。

答案3

Notepad++ 很酷。试试这个:

编辑 --> EOL 转换 --> 转换为 UNIX 格式

答案4

嗯,我以前从来没有遇到过这个问题,但是......

当我打开 Putty 并在服务器端编辑 .htaccess 文件时,它起作用了。

这对 Notepad++ 来说是一个损失。

相关内容