我有这个网站:
www.exampale.com/index.php?action=gallery&tag_id=X
X是介于0到50,000之间的数字。
我想通过htaccess对这个网站进行301重复:
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文件中编写什么代码?
感谢您的帮助: - )
答案 0 :(得分:0)
在?之后的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]