RewriteRule:如何使第二个参数可选

时间:2014-12-02 19:34:41

标签: regex apache .htaccess mod-rewrite rewrite

我正在尝试创建重写规则,第二个参数必须是可选的。但是,出于某种原因,我不知道该怎么做:

RewriteRule ^galeria/place/country/(.*)/([0-9]+)/?$ gallery/geography.php?country=$1&p=$2 [L]

考虑到一个用于测试目的的案例,让我们选择国家阿根廷,这就是所有可能性:

http://www.mywebpage/galeria/place/country/argentina
http://www.mywebpage/galeria/place/country/argentina/
http://www.mywebpage/galeria/place/country/argentina/3
http://www.mywebpage/galeria/place/country/argentina/3/

请记住,最后一个参数,即页面,是可选的

我知道我很接近,但我无法弄清楚如何在重写规则上制作第二个参数,是可选的。救命。 感谢

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteRule ^galeria/place/country/([^/]+)(?:/(\d+))?/?$ gallery/geography.php?country=$1&p=$2 [L,QSA]