繁体   English   中英

使用htaccess重定向带有问号的301网址

[英]Redirect 301 url with question mark using htaccess

我有这个网站:

www.exampale.com/index.php?action=gallery&tag_id=X

X是0到50,000之间的数字。

我想用htaccess对这个站点做一个301 redircet:

www.exampale.com/gallery/?tags=X

这个网站同样的事情:

www.exampale.com/?action=gallery&img_id=X (不含index.php)

到网站:

www.exampale.com/image/view/X

我试试这段代码:

RewriteEngine On
RewriteRule ^index.php?action=gallery&tag_id=([0-9]+)$ /gallery/?tags=$1 [R=301,NC]
RewriteRule ^?action=gallery&img_id=([0-9]+)$ /image/view/$1 [R=301,NC]

但它不起作用,当我尝试没有“?” 代码运作良好。

有人可以帮帮我吗? 我必须在htaccess文件中编写什么代码?

感谢帮助 :-)

QueryString之后的url部分 在RewriteRule的模式中不是匹配的一部分。 您需要使用RewriteCond匹配againg %{QUERY_STRING}变量

RewriteEngine on

#index.php?action=gallery&tag_id=123 =>/gallery/?tags=123
RewriteCond %{QUERY_STRING} ^action=gallery&tag_id=([0-9]+)$ [NC]
RewriteRule ^index\.php$ http://example.com/gallery/?tags=%1 [NC,L,R]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM