【问题标题】:One character messes up htaccess一个字符搞砸了 htaccess
【发布时间】:2012-12-07 10:59:53
【问题描述】:

我正在使用带有 LAMP 的 Ubuntu 12 服务器(今天安装了所有内容并进行了全面升级),并且我正在使用以下 .htaccess:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^messages/received/?$ messages.php?p=received [L]

当我转到 http://localhost/messages/received/ 时,我得到一个“未找到”页面

现在奇怪的是,如果我删除“消息”的最后一个“s”:

RewriteRule ^message/received/?$ messages.php?p=received [L]

那么它就完美运行了。

在我的 Mac 上通过 MAMP 使用相同的文件不会引发错误。

更新:显然这是因为我有一个文件“(www_root)/messages/received.php”。

【问题讨论】:

    标签: apache .htaccess mod-rewrite lamp


    【解决方案1】:

    更新:显然这是因为我有一个文件“(www_root)/messages/received.php”。

    这听起来像是多视图(mod_negotiation)正在这样做。在您的选项指令中,尝试添加 -Multiviews:

    Options +FollowSymlinks -Multiviews
    

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 2011-08-09
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多