2009-11-07 86 views
1

我很抱歉,如果這很簡單。我已經把它搞瞎了,但無濟於事。.htaccess mod_rewrite規則在Ubuntu中不起作用

我使用的是Ubuntu 9.04,Jaunty Jackelope和Apache2。經過很多麻煩,我終於啓用了 mod_rewrite,而我的.htaccess文件試圖做它的事情,但是失敗了。這是我的設置。

在/etc/apache2/conf.d/我有一個名爲apeace-public-html.conf的文件。其內容如下:

# makes /home/apeace/public_html/ available through /localhost/apeace 

Alias /apeace /home/apeace/public_html/ 

而且在/ home/apeace /的public_html /我有以下.htaccess文件:

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule ^test\.html$ index.html 

而且在/ home/apeace /的public_html /我有一個文件名爲index.html,但我沒有名爲test.html的文件。在我看來,當我嘗試訪問http://localhost/apeace/test.html時,此重寫應顯示index.html。然而,這是錯誤我得到:

Not Found 

The requested URL /home/apeace/public_html/index.html was not found on this server. 

所以現在的問題是,在世界上我究竟做錯了什麼?

非常感謝。

-apeace

回答

1

你重寫規則是否正常工作,因爲它告訴你它找不到「的index.html」。如果你去了test.html,它說它找不到「test.html」,那麼你的重寫規則就會出錯。

所以這意味着你的設置中有其他的東西是錯誤的,無論它是一個壞的文件或目錄名稱或其他任何地方。確保沒有什麼基本的你可以忽略。

但在回答你的問題(特別是標題)時,你的htaccess很好。

+0

對不起,我還不夠清楚:PI意味着訪問/test.html並且給出/index.html,因爲index.html存在並且test.html不存在。但是,事實證明,另一位紳士的回答是正確的。 – apeace 2009-11-07 05:32:13