mod_rewrite用于查询字符串

时间:2013-06-28 11:48:34

标签: .htaccess mod-rewrite

我有3个mod_rewrite案例:

http://www.domain.com/location/albania/tirana/tirana-airport
http://www.domain.com/location/albania/tirana
http://www.domain.com/location/albania

所有这些案例的实际网址是:

http://www.domain.com/page.php?country=albania&city=tirana&location=tirana-airport

你能描述一个适用于所有3个案例的mod_rewrite规则吗?现在,如果缺少某个城市或位置,页面将返回404.仅当所有3个参数都存在时,它才有效。这是我现在正在使用的规则:

RewriteRule ^location/([^/]+)/([^/]+)/([^/]+)(.*)$ page.php?country=$1&city=$2&location=$3 

提前致谢!

1 个答案:

答案 0 :(得分:1)

用以下内容替换您的规则:

RewriteRule ^location/([^/]+)/?([^/]*)/?([^/]*)/?$ /page.php?country=$1&city=$2&location=$3 [L,QSA,NC]

它适用于您的所有3个网址。