【发布时间】:2010-10-26 12:39:37
【问题描述】:
我在我的 Vista 机器上全新安装了 Apache 2.2,一切正常,除了 mod rewrite。
我没有注释
LoadModule rewrite_module modules/mod_rewrite.s
但我的重写规则都不起作用,即使是像
这样简单的规则RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404
我使用的所有规则都适用于我的主机,所以它们应该没问题,所以我的问题是,apache 配置中是否有任何隐藏的东西可以阻止 mod 重写?
【问题讨论】:
-
实际上问题是我的路径错误,因为 ${DOCUMENT_ROOT} 将我指向根目录,这在主机上是可以的,但在本地是错误的,所以问题不只是 RewriteEngine On,我已经有..
-
您能否将接受的答案更改为this one?当前接受答案的作者承认这还不够好。
-
How to enable mod_rewrite in Ubuntu 12.04 LTS (should work in Debian too)。这显示了安装和激活,下面的教程令人惊讶地不这样做:(
-
我强烈建议所有想要在 .htacces 文件中启用 mod_rewrite 指令的人使用
AllowOverride FileInfo而不是允许一切,正如本页上的所有答案所暗示的那样。很遗憾看到所有这些答案都采取了只要它可以工作就可以的方法,而不是试图理解所提出的“解决方案”的后果。尝试了解您在服务器上所做的事情以及如何限制您刚刚使用AllowOverride All放弃的权限。 RTFM!,这个话题已经很清楚了。 -
@Black 在名为 httpd.conf 的 Apache 配置文件中。在我的 PC 中,它位于 C:\xampp\apache\conf 目录中,因为我使用 XAMPP 安装了 Apache。
标签: apache mod-rewrite