2014-10-30 62 views
1

我正在爲雙語網站重寫url。重寫url,接受同一個url的兩個不同單詞的表達式

此刻我需要寫相同的規則2倍,唯一的區別就是類別名稱,「產品」和「prodotto」的語言:

RewriteRule ^product/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([0-9]+)$ index.php?public=12&n=$1&a=$2&id=$3 [L] 

RewriteRule ^prodotto/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([0-9]+)$ index.php?public=12&n=$1&a=$2&id=$3 [L] 

有沒有寫這個辦法規則只有一次,接受英語的'產品'和意大利的'prodotto'兩種情況?

喜歡的東西:

RewriteRule ^([prodotto-product])/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([0-9]+)$ index.php?public=12&n=$1&a=$2&id=$3 [L] 

回答

1

您可以使用正則表達式交替將其合併爲一個:

RewriteRule ^(?:prodotto|product)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([0-9]+)$ index.php?public=12&n=$1&a=$2&id=$3 [L,QSA] 
+0

由於它的作品!只有一件事:我應該在重寫規則中始終使用QSA嗎?那是什麼? – supadema 2014-10-30 11:33:24

+1

'QSA'(查詢字符串追加)標誌保留現有的查詢參數,同時添加一個新的參數。所以在你的情況下'QSA'很好。 – anubhava 2014-10-30 11:34:30