我听过这个帖子(.htaccess redirect all pages to new domain)非常有用。但是,我的请求与原始请求略有不同。
上面的主题讨论了从旧域重定向到新域的问题,但我已经请求只将主域转发到子域。
这是一个问题 - 如何自动将主域中的所有请求转发到子域。例如 -
着陆网址:http://example.com 转发网址:http://sub.example.com
着陆网址:http://example.com?var=foo 转发网址:http://sub.example.com?var=foo
如果有人登陆我的转发网址,我不希望它们再次被301重定向。简单来说,我不想使用一条规则,该规则始终重定向所有登陆http://sub.example.com的请求。着陆网址是相同的。
如果我按照上述链接的建议,我相信在我的情况下会发生,因为我想从主域转发到子域。
这是我到目前为止所做的工作。它只将我的一个域转发到另一个子域。但是,当有任何URL参数时,它不起作用,它只保留相同的旧URL。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^$ http://sub.example.com/? [R=301,NE,NC,L]
简单来说 - 我的代码在http://example.com?var=foo时没有反应,并且保持不变。
任何指导都会很棒。
答案 0 :(得分:2)
您需要删除条件并更改正则表达式。
{{1}}
清除浏览器缓存,然后尝试一下。让我知道它是如何工作的。