如何在不破坏$ _GET的情况下从“domain.com/search/query”制作“domain.com/search/q=query”

时间:2011-01-26 20:16:35

标签: php regex mod-rewrite

您好!

我有:

RewriteRule ^catalog/search/([a-zA-Z-_0-9]+)/(.*)/?$ index.php?page=catalog&type=search&category=$1&q=$2 [L]
RewriteRule ^catalog/search/([a-zA-Z-_0-9]+)/(.*)/([0-9]+)/?$ index.php?page=catalog&type=search&category=$1&q=$2&pg=$3 [L]

并且我得到了这个:

  

domain.com/catalog/search/all/QUERY

     

domain.com/catalog/search/all/QUERY/PAGE

但我需要:

  

domain.com/catalog/search/all /?= QUERY

     

domain.com/catalog/search/all/?q=QUERY/PAGE

仍可访问:$ _GET ['q']和$ _GET ['pg']

任何帮助表示赞赏!!

1 个答案:

答案 0 :(得分:2)

QSA添加到RewriteRule的标记列表中:

RewriteRule ^catalog/search/([a-zA-Z-_0-9]+)/(.*)/?$ index.php?page=catalog&type=search&category=$1&q=$2 [L,QSA]
RewriteRule ^catalog/search/([a-zA-Z-_0-9]+)/(.*)/([0-9]+)/?$ index.php?page=catalog&type=search&category=$1&q=$2&pg=$3 [L,QSA]