使用查询字符串停止.htaccess重定向 [英] Stop .htaccess redirect with query string

查看:56
本文介绍了使用查询字符串停止.htaccess重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的站点使用.htacess文件将根域名重定向到另一个URL.当前的重定向如下所示:

My site uses an .htacess file to redirect the root domain name to another URL. The current redirect looks like this:

RewriteEngine onRewriteRule ^ $ http://example2.com/[R = 301,L]

我只希望将根域重定向(将example1.com重定向到example2.com),因此上述内容可以正常工作.但是,如果在旧的URL中使用了查询字符串.例如

I only want the root domain to be redirected (example1.com to example2.com) so the above works correctly. However if a query string is used within the old URL. For example

http://example1.com/?pages=3

我仍然不需要重定向.我只是在使用查询字符串时遇到重定向问题,其他都没问题:

The redirect still works which I don't want. Im just having the redirect problem when a query string is used, anything else is fine:

http://example1.com/-是否重定向✓

http://example1.com/home -不重定向✓

http://example1.com/?page=3 -重定向X是否需要-不重定向

http://example1.com/?page=3 - Does Redirect X - need this not to redirect

任何人都可以帮忙吗?

推荐答案

您可以放一个?在目标末尾丢弃旧的查询字符串:

You can put a ? at the end of the destination to discard old querystring :

RewriteEngine on
RewriteRule ^$ http://example2.com/? [R=301,L]

如果您不希望在请求包含查询字符串时进行重定向,则可以使用:

If you dont want to redirect when the request contains query string, you may use :

RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^$ http://example2.com/ [R=301,L]

这篇关于使用查询字符串停止.htaccess重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆