这让我发疯了。
长话短说,我无法更改.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文件,那我就设置好了。
答案 0 :(得分:1)
请尝试以下操作:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Redirect 301 /our_clients/nike /project/nike-nofyme-campaigns
</IfModule>
答案 1 :(得分:0)
这可能是因为filezilla默认传输模式,你必须将其设置为'二进制'
转到edit > settings > transfers > filetypes
并将默认传输模式设置为二进制
答案 2 :(得分:0)
您是否尝试从记事本中检查换行符配置?因为如果您使用Windows格式换行符在Windows上编辑代码,然后将其原样放在Linux服务器上,那么它将无法正常工作。您可以在记事本版菜单中将它们转换为unix格式。