Apache 从HTTP响应状态代码301 url重定向中删除查询字符串
我的Apache 从HTTP响应状态代码301 url重定向中删除查询字符串,apache,.htaccess,Apache,.htaccess,我的.htaccess文件包含重写url和HTTP响应状态代码301 url重定向。当我测试重定向时,它会将查询字符串值从旧url添加到重定向url的末尾。我怎样才能阻止这一切 我的htaccess看起来像这样 Options +FollowSymlinks Redirect 301 /old-site/tees~1-c/blue~123-p.html test.mydomain.com/tees~1-c/blue~123-p.html Redirect 301 /old-site/tees~1
.htaccess
文件包含重写url和HTTP响应状态代码301 url重定向。当我测试重定向时,它会将查询字符串值从旧url添加到重定向url的末尾。我怎样才能阻止这一切
我的htaccess看起来像这样
Options +FollowSymlinks
Redirect 301 /old-site/tees~1-c/blue~123-p.html test.mydomain.com/tees~1-c/blue~123-p.html
Redirect 301 /old-site/tees~1-c.html test.mydomain.com/tees~1-c.html
Redirect 301 /old-site/content/about.html test.mydomain.com/content/about.html
RewriteEngine on
RewriteRule ^(.+)~(.+)-c/(.+)~(.+)-p\.html?$ product.php?cde=$1&cid=$2&pde=$3&pid=$4 [QSA]
RewriteRule ^(.+)~(.+)-c\.html?$ category.php?cde=$1&cid=$2&ref=%3&srt=%4&sta=%5&ppa=%6 [QSA]
RewriteRule ^content/(.+)\.html?$ info.php?seo=$1&sta=%1 [QSA]
如会议所述
如果客户端请求,它将
让他改为进入。这
包括具有GET参数的请求,例如
,它将被重定向到
您可以更改Redirec 301来重写规则:
而不是:
Redirect 301 /old-site/tees~1-c/blue~123-p.html test.mydomain.com/tees~1-c/blue~123-p.html
Redirect 301 /old-site/tees~1-c.html test.mydomain.com/tees~1-c.html
Redirect 301 /old-site/content/about.html test.mydomain.com/content/about.html
使用:
如果不包括QSA标志,则不会向重写的url添加任何查询参数,如
如果客户端请求,它将
让他改为进入。这
包括具有GET参数的请求,例如
,它将被重定向到
您可以更改Redirec 301来重写规则:
而不是:
Redirect 301 /old-site/tees~1-c/blue~123-p.html test.mydomain.com/tees~1-c/blue~123-p.html
Redirect 301 /old-site/tees~1-c.html test.mydomain.com/tees~1-c.html
Redirect 301 /old-site/content/about.html test.mydomain.com/content/about.html
使用:
如果不包括QSA标志,则不会向重写的url添加任何查询参数