我一直在尝试重写一个网址,例如
www.somesite.com/?x=372
进入一个网址
www.somesite.com/
我当前的代码似乎不起作用
重写引擎开启
RewriteCond %{QUERY_STRING} x=(.*)
重写规则http://www.somesite.com/ http://www.somesite.com/[R=301,L]
我已经查找了无数尝试使用 htaccess 执行此操作的方法,但仍然没有成功。
如果您只是想重定向客户端以删除查询字符串(查询字符串之后的所有内容)?
在 URL 中),那么您可以尝试以下操作:
RewriteEngine On
RewriteCond %{QUERY_STRING} x=(.*)
RewriteRule ^ http://www.somesite.com/? [R=301,L]
看来您大部分内容都是正确的,但是您的规则需要匹配,并且您的目标(http://www.somesite.com/
)需要一个?
最后,这样重写之前的任何查询字符串都不会被附加。
在 Apache 2.4 或更高版本中,您可以使用 QSD查询字符串丢弃标志 http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsd:
RewriteEngine On
RewriteCond %{QUERY_STRING} x=(.*)
RewriteRule .* http://www.somesite.com/ [R=301,L,QSD]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)