0
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

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

4

2 回答 2

1

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

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^new/$ /search.php?category=1&%1
于 2013-03-24T19:03:17.923 回答
0

您可以使用 QSA 标志/new简单地从to重定向,Apache 将附加现有的查询字符串。像这样的东西会为你工作:/search.php

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

RewriteRule ^new/?$ /search.php?category=1 [L,QSA,NC]
于 2013-03-25T11:13:49.400 回答