我有一个变体子域,需要在斜杠后面的url后面重写和多个附加参数。
我目前的重写规则如下:
RewriteCond %{HTTP_HOST} ^((?!www).+)\.classifiedads4free\.com$ [NC]
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|png|gif|bmp|php)$ [NC]
RewriteRule (.*) pages/list.php?country=%1&category=%2 [L,QSA]
RewriteRule ^cat/([A-Za-z0-9-]+)?$ pages/list.php?category=$1 [QSA,NC,L]
我可以像访问每个人一样重写
当我去http://us.classifiedads4free.com
。我可以阅读国家参数。
当我转到http://classifiedads4free.com/cat/jobs
时,我可以阅读类别参数。
但我无法获得http://us.classifiedads4free.com/cat/jobs
的正确参数。
仅显示国家/地区参数。如何使两个参数都考虑在内?
答案 0 :(得分:0)
每RewriteCond(s)
只能有一个规则,因此您需要包含再次选择国家/地区的条件以及规则。如果国家代码不存在,您仍需要独立的规则。
RewriteCond %{HTTP_HOST} ^((?!www).+)\.classifiedads4free\.com$ [NC]
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|png|gif|bmp|php)$ [NC]
RewriteRule ^cat/([A-Za-z0-9-]+)?$ pages/list.php?country=%1&category=$1 [QSA,NC,L]
RewriteCond %{HTTP_HOST} ^((?!www).+)\.classifiedads4free\.com$ [NC]
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|png|gif|bmp|php)$ [NC]
RewriteRule (.*) pages/list.php?country=%1&category=%2 [L,QSA]
RewriteRule ^cat/([A-Za-z0-9-]+)?$ pages/list.php?category=$1 [QSA,NC,L]
规则首先是重要的,否则(.*)
会消耗cat/...
并选择错误的规则