Apache 重定向忽略.htaccess中的参数

Apache 重定向忽略.htaccess中的参数,apache,.htaccess,rewrite,server,Apache,.htaccess,Rewrite,Server,经过几个小时的斗争,我成功地生成了一个htacces文件,将我所有的旧URL重定向到我的新站点(同一个域)的URL。我使用以下规则管理我的子文件夹重定向(我的新站点只有几页): 问题是,当我尝试访问一些页面时,如domain.com/empresa/testimonios-de-clientesc69a.html?lang=es,它会将我重定向到domain/?lang=es,即我的域+“.html”后面的参数 所以,我想知道是否有办法消除这个参数,只重定向到www.domain.com 提前谢

经过几个小时的斗争,我成功地生成了一个htacces文件,将我所有的旧URL重定向到我的新站点(同一个域)的URL。我使用以下规则管理我的子文件夹重定向(我的新站点只有几页):

问题是,当我尝试访问一些页面时,如domain.com/empresa/testimonios-de-clientesc69a.html?lang=es,它会将我重定向到domain/?lang=es,即我的域+“.html”后面的参数

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


提前谢谢

要截断查询字符串,请在目标URL的末尾添加一个“?”符号,如下所示:

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

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

当请求的URI包含查询字符串时,以及目标URI 否则,重写规则的默认行为是复制该查询 字符串到目标URI。使用[QSD]标志会导致查询字符串 被丢弃

所以看起来像

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