我一直在考虑将网站网址从动态网址更改为SEO网址。
我当前的搜索网址如下:
search.php?q=dvd_player&attr=brand&=attr=price&page=56
我的.htaccess文件中有以下代码:
RewriteRule ^search/([a-zA-Z0-9_-]+)/?$ search.php?q=$1 NC,L
如果我只想获得“q”,上面的代码可以工作,但是我不太清楚如何获得每个“attr”和“page”变量。
另一个问题是“attr”的数量在搜索的产品上是动态的,因此一个产品可能只有三个产品,而另一个产品可能有20个。
感谢。
答案 0 :(得分:1)
这里需要QSA标志。 QSA
(查询字符串追加)标志在添加新查询参数时保留现有查询参数。
RewriteRule ^search/([a-zA-Z0-9_-]+)/?$ search.php?q=$1 [L,QSA]
更新要将/search/dvd-player/attr/brand/attr/price/page/2
重写为/search.php?q=dvd_player&attr=brand&=attr=price&page=2
,请使用此递归重写规则:
RewriteRule ^(search)/([^/]*)/([^/]*)(/.*)?$ /$1/$4?$2=$3 [L,QSA,NC]
RewriteRule ^(search)/?$ /$1.php [L,NC]