2010-06-12 69 views
0
RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?p=$1&l=$2 
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/$ index.php?p=$1&l=$2 

這工作正常,如果我做site.com/param_one/param_two/,但返回404時,我省略param_two。我是一個用htaccess路由請求的新手,有沒有簡單的快速修復?我錯過了一面旗幟或什麼?重寫規則提示需要

回答

2

量詞+意味着一個或多個重複。但是/param_one/需要0或更多的重複。因此,請嘗試使用*量詞重複零次或多次:

RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]*)$ index.php?p=$1&l=$2 
+0

我<3您。非常感謝你。 – Kirill 2010-06-12 21:38:19

+0

快速問題,我嘗試使用相同的邏輯添加另一個層(RewriteRule ^([a-zA-Z0-9 _] +)/([a-zA-Z0-9 _] *)/([a-zA-Z0- 9 _] *)/ $ index.php?p = $ 1&l = $ 2&i = $ 3),並且它開始返回404.我錯過了一些東西,或者這不起作用? – Kirill 2010-06-12 21:44:34

+0

@Kirill:你測試過哪個網址? – Gumbo 2010-06-12 22:21:50