搜索引擎友好的URL

时间:2014-01-09 10:50:20

标签: php .htaccess

我一直在考虑将网站网址从动态网址更改为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个。

感谢。

1 个答案:

答案 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]