【问题标题】:.htaccess 500 internal server error when adding simple 301 redirect添加简单 301 重定向时出现 .htaccess 500 内部服务器错误
【发布时间】:2014-10-11 09:32:11
【问题描述】:

这快把我逼疯了。

长话短说,我无法更改 .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 内部服务器错误。

所以可能不止一件事有问题。

更新! 好的,我一直在调试这个。我可以确认错误来自记事本++ 我已将 filezilla 和 notepad++ 都重置为默认值,但错误仍然发生。 所以我选择使用常规记事本编辑文件,添加了我的 301 重定向并且成功了! 所以filezilla没问题。 我的 301 可以正常工作。

问题取决于 notepad++ 用于保存 .htaccess 文件的格式。 因此,如果有人能告诉我您使用什么设置来使用 notepad++ 生成功能性 .htaccess 文件,我就准备好了。

【问题讨论】:

  • 请将您的 .htaccess 文件的内容贴在这里,以便我们查看。始终在 Filezilla 上使用自动传输。
  • 请贴出你的.htaccess文件代码
  • 检查你的 Apache error.log 看看实际的错误是什么。

标签: apache .htaccess mod-rewrite redirect


【解决方案1】:

请试试这个:

301 重定向

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      可能是filezilla默认传输模式的原因,需要设置成'binary'

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

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

      【讨论】:

      • 在二进制模式下也会发生同样的情况,不会让我添加任何东西。该网站无法为我加载。
      猜你喜欢
      • 1970-01-01
      • 2014-01-03
      • 2014-01-30
      • 2017-10-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多