.htaccess拒绝将没有文件扩展名的URL重定向到404页面

3

我一直在调试。Apache的.htaccess可以很好地重定向我的WWW客户端(如果没有WWW,则301重定向到相同的URL,包含WWW),并且可以重定向带有文件扩展名的内容(例如index.html将重定向到index.php)。只有没有扩展名的URL。它拒绝解释它们。

我的当前文件:

RewriteEngine On
RewriteBase /

# Clean URL
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/?$ $1.php [NS,L,R=permanent]

# Force WWW
RewriteCond %{HTTP_HOST} !^www\.thevgc\.net$
RewriteRule ^(.*)/?$ http://www.thevgc.net/$1 [NS,L,R=permanent]

我已经花了整整一晚上尝试解决这个问题了。mod_rewrite已启用,但在实际创建文件之前,我必须创建一个符号链接到/etc/apache2/mods-enabled/rewrite.conf,该文件包含以下内容:

RewriteEngine On

我有关于这个困境的一些想法吗?

你的 .htaccess 启用了吗?尝试在顶部放置一些垃圾文本,看看是否会在浏览器中生成 500 错误。 - anubhava
这意味着您的设置没有启用 .htaccess。请在您的 httpd.conf 中启用 .htaccess。 - anubhava
我正在运行Ubuntu 12.10。据我所知,我没有一个叫做httpd.conf的文件,而是有一个名为apache2.conf的文件。如果我真的有httpd.conf文件,那么我肯定不知道在哪里找到它。 - Cora
抛开上面那些东西。看起来我的URL里有一个 $_GET,它以某种方式阻止了HAHAHAHA的激活。移除了WWW URL重定向代码和URL中的 $b=8,返回了500错误。移除了HAHAHAHA,现在工作正常。仍然在尝试获取非目录、非文件页面时返回404错误。 - Cora
错误日志现在输出了[Sat Nov 24 20:38:09 2012] [error] [client 10.0.0.4] Negotiation: discovered file(s) matching request: /var/www/www/game (None could be negotiated)., referer: http://10.0.0.3/ - Cora
显示剩余4条评论
1个回答

2

好的!我找到了解决问题的答案。看起来如果你运行命令a2dismod negotiation,它神奇地开始工作了,至少在我的情况下是这样的。问题解决了,案件结案,线程结束。谜团已经被解开。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接