2010-01-16 212 views
0

我試圖使用URL重定向我的網頁:國防部重寫問題

RewriteRule ^(.*)/content/(.*)/?(.*)\.html$ browse.php?s=$1&c=$2&l=$3 [NC,L] 

對於2個參數,它工作正常,但是當我通過3個參數,它把在2和第三位。

正確的輸出是如下(2)參數:

Array ([s] => wallpapers [c] => Global_Celebrities [l] => Nicole1); 

合併弄亂輸出是在這裏(3)的參數:

Array ([s] => wallpapers [c] => Global_Celebrities/Kate1 [l] =>); 

預先感謝。

+0

如果您接受最能回答您的問題的答案,那將會很好。 – Gumbo 2010-01-16 14:49:43

回答

1

您需要使用更具體的模式。嘗試[^/]+代替.*

RewriteRule ^([^/]+)/content/([^/]+)\.html$ browse.php?s=$1&c=$2 [NC,L] 
RewriteRule ^([^/]+)/content/([^/]+)/([^/]+)\.html$ browse.php?s=$1&c=$2&l=$3 [NC,L] 
+0

感謝您的及時回覆,它工作正常.. – user252165 2010-01-16 14:21:58

+0

謝謝guyz你是生命救主(K);) – user252165 2010-01-16 14:28:28

1

最簡單的辦法就是去與2個規則:

RewriteRule ^(.*)/content/(\w*)\.html$ browse.php?s=$1&c=$2 [NC,L]<br/> 
RewriteRule ^(.*)/content/(\w*)/(\w*)\.html$ browse.php?s=$1&c=$2&l=$3 [NC,L] 

注意,我使用 「\ W」 代替,使 「 」「。」將無法吃「/」。 它可能適用。 \ w也是更安全。