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

时间:2014-08-18 12:54:57

标签: apache .htaccess mod-rewrite redirect

这让我发疯了。

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

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

现在每当我尝试添加一些简单的东西时,像.httpcess就像301重定向一样: 重定向301 /random-file.html http://dumbsite.com/section/random-file.html

它给了我一个500内部服务器错误,我知道当你做错了但是我100%确定我的规则是正确的。

我的理论是它与filezilla的notepad ++有关。 所以问题是: 在记事本++上我需要具有或不需要的编码或设置。

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

所以可能有不止一件事。

UPDATE! 好的,我一直在调整这个。我可以确认错误来自Notepad ++ 我已经重置为filezilla和notepad ++的默认值,但错误仍然发生。 所以我选择用常规记事本编辑文件添加了我的301重定向并繁荣它的工作! 所以filezilla没问题。 我的301工作正常。

问题依赖于notepad ++用来保存.htaccess文件的格式。 所以,如果有人能告诉我你用什么设置来生成一个带有notepad ++的功能性.htaccess文件,那我就设置好了。

3 个答案:

答案 0 :(得分:1)

请尝试以下操作:

301重定向

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

答案 1 :(得分:0)

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

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

同时检查http://domaze.net/watch?v=yEn7iZmXELI

答案 2 :(得分:0)

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