如何在MOD_REWRITE中选择正则表达式?

时间:2011-03-09 05:14:50

标签: regex mod-rewrite translation optional-parameters

我需要在我网站的工作列表部分添加翻译服务,以便以多种语言提供内容。

现在,我正在使用mod重写来制作以下漂亮的网址:

/作业/ JobLocation / JobOpening /

使用此重写规则:

RewriteRule ^jobs/([A-Za-z_-]+)/([A-Za-z_-]+)$ /jobs/$1/$2/ [R]
RewriteRule ^jobs/([A-Za-z_-]+)/([A-Za-z_-]+)/$ /listing.php?location=$1&job=$2

我希望可以选择将此语言属性添加到此URL的开头(以及我网站上的其他人),以便我可以翻译该页面。我希望上面的常规URL适用于默认语言(英语),但我也希望以下工作:

/作业/ ES / JobLocation / JobOpening /

我相信我可以通过在我的mod重写regexp中添加一个可选部分来实现这一点,但我不确定正确的语法是什么。

1 个答案:

答案 0 :(得分:0)

与其他所有正则表达式语法相同:问号(?)。

RewriteRule ^jobs/(([A-Za-z_-]{2,3})/)?([A-Za-z_-]+)/([A-Za-z_-]+)/$ /listing.php?location=$3&job=$4&lang=$2