如何将一个或多个GET请求重定向到不同的目录或文件?

时间:2016-01-20 09:31:20

标签: .htaccess mod-rewrite redirect

所以,我有一个带有index.php的网站,并向它发送GET请求(或root /)。

E.g。 http://example.com/index.php?category=Birthday

http://example.com/?category=Birthday

我希望301能够将这些特定请求重定向到新目录http://example.com/templates/?category=Birthday

我已尝试在.htaccess文件?category=中匹配部分GET请求,但只要它到达新目录就会导致无限循环。那和我在理解RegEx方面遇到了很大的困难。

所有其他帮助和教程都执行将所有请求与新目录匹配的任务,但我希望重定向仅在使用?category=

时生效

我的.htaccess文件是空白的,没有其他特殊的重写。如果需要,我可以根据要求发布代码。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在站点根目录中使用此规则.htaccess:

RewriteEngine On

RewriteCond %{QUERY_STRING} (?:^|&)category= [NC]
RewriteRule ^(index\.php)?$ /templates/ [L,NC,R=302]

QUERY_STRING将自动转移到目标URI。