2011-12-20 91 views
1

我有學生,老師和管理員部分的軟件。我想讓老師選擇他們的網址,如http://mydomain.com/teacher1,http://mydomain.com/teacher2mod_rewrite,用戶目錄

我該如何使用這個mod_rewrite呢?這部分工作:

RewriteEngine On 
RewriteRule username teacher/ 

而不是當我在teacher/dir而不是training.php教師DIR如teacher/training.php瀏覽器中打開頁面index.php某種聯繫。

+0

對不起,我真的不明白你的問題。你能解釋一下你想要什麼(=起始URL),它應該如何在服務器端進行內部重寫,如果你有錯誤,請寫出有問題的URL。 – 2011-12-20 18:52:50

+0

你可能會在http://webmasters.stackexchange.com上得到更好的迴應,因爲他們專注於這種事情。我已投票遷移到那裏。 – 2011-12-21 15:58:05

回答

0

mod_rewrite讀取所有路徑並將其全部修改。格式爲:「重寫規則模式替換」(Apache Docs

「模式」可以是一個字符串和任何相匹配的字符串將被改寫,但「替代」是完整路徑

假設你想要的「用戶名」只在開始的比賽,並假設其下的所有位置必須被改寫,你需要的是:

RewriteEngine On 
RewriteRule ^username(/(.*))? teacher$1 

這將忽略「用戶名」,但追加剩下的路徑就結束了,所以http://example.com/username/training.php會顯示內容(但不會更改地址)http://example.com/teacher/training.php。如果您希望它執行完整重定向以便更改URL,請在RewriteRule行的末尾添加[R=301]