2014-06-19 131 views
1

我一直在尋找相當一段時間,但一直沒能找到一個完全相同的問題,因爲我有。mod_rewrite和結束斜槓問題(Apache + PHP)

我希望這裏有人能幫助我,因爲我現在對此感到非常沮喪。

我正在運行Apache 2.2與mod_rewrite以及我正在處理的PHP項目。

我已經成功啓用了mod_rewrite的Apache和我使用的是下面的.htaccess:

RewriteEngine On 
RewriteBase /minpt.net/htdocs 
RewriteRule ^([a-zA-Z0-9]+)$ ./?page=$1 [L] 
RewriteRule ^([a-zA-Z0-9]+)/$ ./?page=$1 [L] 

我有這樣一個鏈接:

http://localhost/myproject/?page=news 

我希望能夠訪問此鏈接用一個漂亮的URL,如:

http://localhost/myproject/news 

或...

http://localhost/myproject/news/ 

(注意結束軌跡)。

使用我當前的.htaccess文件(見上面),沒有結束軌跡的連接nr 1就像我希望的那樣工作。但只要我嘗試使用結束軌跡訪問URL,就會進入錯誤的相對目錄,並且我的CSS,圖像等全部搞砸了,因爲它認爲我在另一個工作目錄中。

我該如何防止這種情況發生?

回答

0

您可以通過在您的網站上使用絕對鏈接而不是相對鏈接來解決此問題。

Alternativelly,下面的標記添加到head標籤:

<base href="//example.com/myproject/"> 

這將使用該網址爲您的網站的任何相對URL基地。這將覆蓋您正在瀏覽的當前網址。有關該標籤的更多信息,請參見mdn

+0

這個伎倆!謝謝哥們! – Nick