我将笔记本电脑从 Ubuntu 10.04 升级到了 Ubuntu 11.10。现在我的 apache 网络服务器似乎无法识别 .htaccess 文件,因为我的所有 URL 重写都不起作用。我尝试了,a2enmod rewrite
但 apache 说它已经启用。我重新启动了 apache 服务器,但我的重写仍然不起作用。我尝试在 .htaccess 文件中输入垃圾文本,希望产生错误(例如 500 内部服务器错误),但没有发生任何错误。好像 Apache 甚至没有读取我的 .htaccess 文件。我的 apache2.conf 文件有一行写着AccessFileName .htaccess
。
如何使 .htaccess 文件中的 RewriteRules 再次起作用?
答案1
好吧,如果.htaccess
文件确实没有被解析,那么您需要AllowOverride
在主配置中添加一个指令:
AllowOverride FileInfo
(这将允许您的 mod_rewrite 指令,All
如果您需要允许任何指令,请使用)
顺便问一下,为什么要使用.htaccess
呢?从文档:
一般来说,除非您无权访问主服务器配置文件,否则您绝不应该使用 .htaccess 文件。
答案2
查看 AllowOverride 指令,该指令控制 .htaccess 中接受哪些类型的条目。这是在目录上下文中配置的。
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride