一个字符搞砸了 htaccess

Posted

技术标签:

【中文标题】一个字符搞砸了 htaccess【英文标题】:One character messes up 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”。

【问题讨论】:

【参考方案1】:

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

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

Options +FollowSymlinks -Multiviews

【讨论】:

以上是关于一个字符搞砸了 htaccess的主要内容,如果未能解决你的问题,请参考以下文章

PHP 字符串到URL生成器 - 搞砸了

ggtext 格式被 ggsave 搞砸了

Vagrant 搞砸了代码?

字节顺序标记搞砸了 Java 中的文件读取

JQuery 定义被 TypeScript 0.9 搞砸了

UITableViewCell 重用后 topLayoutGuide 搞砸了