我將筆記型電腦從 Ubuntu 10.04 升級到 Ubuntu 11.10。現在我的 apache web 伺服器似乎無法識別 .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