2013-05-25 60 views
2

我用下面的規則htaccess的重寫規則的多個參數

RewriteRule ^([\w]+)/?([\w]+)? index.php?action=$1 

改寫

www.mysite.com/123

www.mysite.com/index.php?action=123

這需要保持這樣的,但也有在那裏我還需要重寫

www.mysite.com/123/abc

情況

www.mysite.com/index.php?action=123 & example = abc

我該如何做到這一點?謝謝!

回答

1

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?action=$1&example=$2 [L,QSA] 

RewriteRule ^([^/]+)/?$ index.php?action=$1 [L,QSA] 
+0

,似乎工作,謝謝你,但你可以解釋爲什麼你改變了我行新(在你的文章中的最後)? –

+0

當我接近我的電腦時,確定我會爲我的回答添加一些解釋。此外,如果它的工作可以標記爲接受。 – anubhava

+0

剛回來。你的規則有兩個問題:1.不使用'L'標誌(標記規則結束)和2.將2個規則組合成1不是一個好主意,否則有時可能會將'example'參數設置爲null。 – anubhava