繁体   English   中英

添加简单的 301 重定向时出现 .htaccess 500 内部服务器错误

[英].htaccess 500 internal server error when adding simple 301 redirect

这真让我抓狂。

长话短说,我无法更改 .htaccess 上的任何内容,因为它会生成 500 内部服务器错误。

几天前,我注意到一些奇怪的事情,我的服务器上的一些文件 .htaccess 包括开始显示每行之间的换行符,或者整个代码在 1 长行中导致站点中断。

现在,每当我尝试向 .htaccess 添加一些简单的内容时,例如 301 重定向:重定向 301 /random-file.html http://dumbsite.com/section/random-file.html

它给了我 500 内部服务器错误,我知道当你做错事时会发生这种情况,但我 100% 确定我的规则是正确的。

我的理论是它与filezilla的notepad++有关。 所以问题是:在记事本++上,我需要或不需要什么编码或设置来避免这种情况。

而且,如果 Filezilla 是原因,我应该使用二进制或 ASCII 还是自动传输方法,并且我应该在传输设置中勾选或不勾选“线程点文件为 ASCII”。 我已经尝试了所有组合,无论它给我 500 内部服务器错误。

所以也许有不止一件事错了。

更新! 好的,我一直在调试这个。 我可以确认错误来自 Notepad++ 我已将 filezilla 和 notepad++ 重置为默认值,但错误仍然发生。 所以我选择用普通记事本编辑文件添加我的 301 重定向和繁荣它工作! 所以filezilla是可以的。 我的 301 可以正常工作。

问题取决于 notepad++ 用于保存 .htaccess 文件的格式。 因此,如果有人能告诉我您使用什么设置来生成带有记事本 ++ 的功能性 .htaccess 文件,我已经全部设置好了。

请试试这个:

301重定向

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    Redirect 301 /our_clients/nike /project/nike-nofyme-campaigns
</IfModule>

这可能是因为filezilla默认传输模式,你必须将其设置为“二进制”

转到edit > settings > transfers > filetypes并将默认传输模式设置为二进制

也检查一下http://domaze.net/watch?v=yEn7iZmXELI

您是否尝试从记事本检查换行符配置? 因为如果您在带有 Windows 格式换行符的 Windows 上编辑代码,然后将其按原样放置在 Linux 服务器上,它将无法正常工作。 您可以在记事本版菜单中将它们转换为 unix 格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM