【问题标题】:.htaccess not working on linux.htaccess 在 Linux 上不起作用
【发布时间】:2013-03-22 05:00:27
【问题描述】:

我在 .htaccess 文件中定义了一些 URL 重写规则

它在 Windows 的本地主机上工作正常

但是当我将它上传到基于 linux 的服务器上时,它停止工作 我在这个link 上发现了问题

以点开头的文件和目录名称被 Unix、Linux 和 Mac 视为隐藏文件。 htaccess 文件是隐藏的,因此它不会分散对 HTML 文件等普通 Web 内容的注意力。有关详细信息,请参阅隐藏文件。 如果没有开头的点,Apache 将忽略 htaccess 文件。

但是我没有找到解决办法……

【问题讨论】:

  • 这可能是一个愚蠢的问题,但是 .htaccess 文件名在实时服务器中是否以点开头?如果是这样,您为什么认为这是问题所在?
  • 是的,但它隐藏了......而且我认为它可能使用点作为标识符并处理不带点的文件名......这可能是一个问题

标签: php linux windows .htaccess


【解决方案1】:

确保在 httpd.conf 中启用 AllowOverride(AllowOverride all)(许多发行版默认为 none)

如果不是这样,您可能需要发布实际的 htaccess 以获得更多帮助

【讨论】:

  • 我知道这篇文章很古老,但也许它可以帮助某人:根据您的安装,您的 httpd.conf 文件可能被称为 apache2.conf。该选项也称为“AllowOverride”,没有尾随“s”。
  • 感谢您的评论,这确实是 AllowOverride ...我很惊讶它没有早点出现。我更正了答案,谢谢
【解决方案2】:

确保模块“mod_rewrite”已加载到您的服务器中。要检查这一点,请使用 phpinfo(),然后搜索“加载的模块”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2017-06-05
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多