重写url,表达式接受同一个url的两个不同的单词

时间:2014-10-30 11:20:19

标签: regex apache .htaccess mod-rewrite redirect

我正在改写双语网站的网址。

目前我需要写相同的规则2次,唯一的区别是类别名称的语言,'product'和'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 个答案:

答案 0 :(得分: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]