2008-09-27 202 views

回答

74

重新啓動是而不是需要更改.htaccess。還有其他的錯誤。

確保你的.htaccess包括聲明其要求,即使它也存在於httpd.conf中

RewriteEngine敘述。同時檢查.htaccess是否可以被httpd進程讀取。
檢查error_log - 它會告訴你任何錯誤.htaccess 如果它正在使用。 在.htaccess中加入故意的語法錯誤是一個很好的檢查,以確保文件正在被使用 - 你應該在同一個目錄中的任何頁面上出現500錯誤。

RewriteLog 「日誌/ rewritelog」

RewriteLogLevel 7

日誌文件:

最後,您可以使用像在httpd.conf以下命令啓用重寫日誌由此生成的將給你與哪些重寫規則匹配以及如何處理它們的血腥細節。

49

No

阿帕奇允許通過放在web目錄樹中的特殊文件配置的分散管理。特殊的文件通常被稱爲.htaccess,但任何名稱可以在AccessFileName指令指定...由於.htaccess文件是在每次請求讀取,在這些文件中所做的更改會立即生效...

+0

如果您已將用戶名添加到啓用網站的文件中的'Require user'我發現您確實需要重新啓動。一個優雅的人做它。 – Ross 2012-02-06 01:10:24

0

是什麼在你的.htaccess?的RewriteRules?檢查mod_rewrite是否已安裝並啓用。

其他的東西?嘗試在該目錄上設置AllowOverride爲'all'。

3

只有當你沒有添加mod重寫模塊到Apache。

你只需要如果你改變任何阿帕奇「的.conf」文件

17

從Apache文檔,重新啓動Apache: 最常見的問題是,設置AllowOverride不設置這樣的配置指令正在兌現。確保您沒有針對有問題的文件範圍生效的AllowOverride None。一個很好的測試是將垃圾放入.htaccess文件並重新加載。如果沒有生成服務器錯誤,那麼您幾乎可以確定AllowOverride None無效。

+1

刪除鏈接到Apache - AllowOverride: http://httpd.apache.org/docs/2.2/mod/core.html#AllowOverride – scunliffe 2008-09-27 01:59:51

+2

我將這一行「」添加到我的.htaccess中以生成錯誤在日誌中。它會說「<目錄不允許在這裏」,我知道它正在閱讀我的文件。 – Mnebuerquo 2009-12-04 07:10:59

1

我有同樣的問題,似乎PiedPiper postOverOverride是最有幫助的。檢查你的httpd.conf文件是否爲「AllowOverride」,並確保它設置爲All。

1

在.htaccess的情況下重新啓動不是必需的,如果它不工作很可能的原因包括。

  • AllowOverride可能無法設置,讓用戶可以在httpd.conf中設置或可能需要聯繫服務器管理員。

  • 檢查.htaccess的文件名應該是.htaccess而不是htaccess.txt參見here指導如何創建一個。

  • 嘗試使用Options -Indexesdeny all類型的簡單指令來查看它是否正常工作。

  • 清除瀏覽器緩存每次如果有重定向規則或類似的,如果先前的重定向緩存它看起來好像事情沒有工作。