2012-04-28 19 views
0

我的根目錄包含一系列PHP文件:index.php,about.php等。其中的每一個都可以帶一個ID參數來自定義頁面上的一些變量,如聯繫電話號碼,電子郵件地址等。Apache呈現虛擬子目錄並將參數傳遞給PHP腳本

如果訪問者訪問http://myserver/joebloggs(joebloggs是一個參數,而不是子目錄),我希望它們能夠從根目錄的index.php頁面,但是要將joebloggs作爲ID傳遞給index.php,然後對頁面進行自定義。我不想爲每個用戶ID創建一個子目錄,我寧願將這些信息保存在數據庫中,並讓PHP爲我生成頁面。此外,當用戶然後導航到about.php頁面時,我希望這個ID被繼續,然後也定製關於頁面,也就是說,關於'about'的鏈接保持URL中的ID參數:http://myserver/joebloggs/about/

我在腦海裏有一個粗略的想法如何做到這一點,並一直在讀取mod_rewrite,但沒有多少運氣在拼湊各種解決方案。

任何指針或幫助將不勝感激。

回答

1

嘗試這樣:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} \/(.+?)\/about 
RewriteRule . /about.php?p1=%1 [L] 

RewriteCond %{REQUEST_URI} \/.*? 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*?)$ /index.php?p1=$1 [L] 

應該做的工作。在我的服務器上測試過。

+0

謝謝 - 非常好。不過,我必須刪除前導/之前的頁面名稱才能在我的服務器上工作。 非常感謝 – 2012-04-28 21:47:31

+0

這就是與mod_rewrite的問題也可以在不同設置不同的工作;)大你管理,使其工作;) – 2012-04-29 07:24:09