[英]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.