2012-12-10 75 views
0

雖然我花了很長時間研究HTACCESS,但對其幾乎沒有什麼瞭解。我認爲真正的原因是因爲正則表達式超出我的能力。使用可選參數重寫Htaccess

目前,在.htaccess中,我使用下面這行:

RewriteRule ^website/([^/]+)(/([^/]+))?$ controller/url.php?method=$1&param=$3 

這將允許用戶有一個很好的URL看起來像www.website.com/website/method/optional_parameter

如何我可以向HTACCESS重寫行添加第二個和第三個可選參數嗎?

+0

在服務器端提供一些漂亮的URL及其實際重寫的URL的例子。 – anubhava

回答

1

最簡單的方法是允許第二個組在「方法」組之後包含URL的其餘部分。

RewriteRule ^website\/([^/]+)\/(.*)$ controller/url.php?method=$1&params=$2 

然後使用PHP在每個/

希望幫助分裂PARAMS。

+0

www.website.com/website/method/optional_parameter返回404錯誤。 www.website.com/website/method/optional_parameter/param工作,但參數需要是可選的。 – steeped

+0

啊,那麼你可以使用一個更類似於你原來的規則:'RewriteRule^website \ /([^ /] +)(/([^ /] +))?$ controller/url.php?method = $ 1&params = $ 3' – clmarquart