2011-05-14 93 views
0

使用mod_rewrite我想重寫一個子目錄是這樣的:幫助mod_rewrite的

http://www.example.com/sub/index.php?page=indexhttp://www.example.com/sub/index

在此先感謝。

+0

「指數」在第二條線是從「的index.php」或頁面索引=指數 – Zimbabao 2011-05-14 12:34:32

+0

從頁=指數 – user753578 2011-05-14 12:47:26

回答

0
RewriteEngine on 
RewriteRule ^([a-z]+)/([a-z]+)$ /$1/index.php?page=$2 

在這裏,我說: 「如果你有一個URL至極開始(^是開始時),還有一些字母([a-z]意味着」 在函[A,B,...,Z]」和+意味着「一個或多個」),然後斜槓,然後再次一些字母,並沒有任何($意味着它是URL的結束),重寫它像這樣:第一組字母,然後斜槓,那麼index.php?page=,那麼第二組。「

組用括號分隔。 $n表示「第n組」。如果子目錄始終相同,請改爲:RewriteRule ^sub/([a-z]+)$ /sub/index.php?page=$1

請注意,http://www.example.com之前是隱含的。

例如:

http://www.example.com/users/boudou -> http://www.example.com/users/index.php?page=boudou 
http://www.example.com/files/cv -> http://www.example.com/files/index.php?page=cv 
http://www.example.com/zzz/sleep -> http://www.example.com/zzz/index.php?page=sleep 
+0

是那個不行,我心中已經也試過這但它不會工作:'RewriteEngine On RewriteRule^sub /([^ /] *)$ /sub/index.php?page=$1 [L]' – user753578 2011-05-14 12:49:09

+0

你確定'mod_rewrite'被激活服務器? – bfontaine 2011-05-14 12:54:46

+0

是的。此代碼正在工作,但它有一個前綴(user_),並且我希望沒有前綴'RewriteRule^user _([^ /] *)$ /sub/index.php?page=$1 [L]' – user753578 2011-05-14 12:57:56