重定向在.htaccess中省略参数

时间:2015-05-28 20:16:12

标签: apache .htaccess rewrite server

经过几个小时的战斗,我设法生成一个htacces文件,将我所有的旧网址重定向到我的新网站(同一个域)的网址。我使用以下规则来管理我的子文件夹重定向(我的新网站只有几页):

processAction

问题在于,当我尝试访问某些网页时,例如domain.com/empresa/testimonios-de-clientesc69a.html?lang=es,它会将我重定向到域名/?lang = es,这是我的域名+ “.html”之后的参数。

所以,我想知道是否有办法消除这个参数并仅重定向到www.domain.com?

提前致谢!

2 个答案:

答案 0 :(得分:0)

要截断查询字符串,请添加'?'签到目标网址的末尾,如下所示:

RewriteRule ^es/empresa/.*$ http://domain/nosotros.html? [R=301,NC,L]

答案 1 :(得分:0)

在Apache 2.4或更高版本上,您可以使用QSD标志来放弃查询字符串(see documentation):

  

当请求的URI包含查询字符串和目标URI时   没有,RewriteRule的默认行为是复制该查询   字符串到目标URI。使用[QSD]标志会导致查询字符串   被丢弃。

所以它看起来像

RewriteRule ^es/empresa/.*$ http://domain/nosotros.html [R=301,NC,L,QSD]