.htaccess RewriteRule不起作用

时间:2013-03-24 18:56:42

标签: .htaccess

RewriteRule new/$ /search.php?category=1
RewriteRule new/\?(.+)$ /search.php?category=1&$1

如果访问了以下地址链接,我试图做这样的事情,

http://onlineshop.com/new/
http://onlineshop.com/new/?price_max=30

然后它将打开此链接,

http://onlineshop.com/new/search.php?category=1
http://onlineshop.com/new/search.php?category=1&price_max=30

不幸的是,它不是这样的。

2 个答案:

答案 0 :(得分:1)

RewriteRule自然不会捕获查询字符串参数,您必须使用这种.htaccess

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^new/$ /search.php?category=1&%1

答案 1 :(得分:0)

您只需使用QSA标记从/new重定向到/search.php ,Apache就会附加现有的查询字符串。这样的东西对你有用:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^new/?$ /search.php?category=1 [L,QSA,NC]