301将服务器IP重定向到域,同时保留查询字符串

时间:2017-03-19 19:51:08

标签: wordpress apache .htaccess redirect

我已经四处寻找,但没有人像我这样有问题,我无法弄清楚如何在不弄乱网站的情况下做到这一点。

- 我的网站是WordPress -Vultr VPS with Server Pilot
- 目前该网站落后于cloudflare,这一切都有效。

问题:我使用服务器IP仍然可以浏览整个版本的网站,我无法弄清楚如何301重定向它。

例如,如果您碰巧访问我的网站xxx.x.xx.xx,那么您可以浏览整个网站而无需重定向,查询字符串和所有内容都显示在地址栏示例中:

http://xxx.x.xx.xx/category/page/?utm_source=aa&utm_medium=bb&utm_campaign=cc

有人可以像这样浏览整个网站,我不希望这样我想将其重定向到我的域名。在WordPress常规设置中,我确实将站点URL和WordPress URL设置为我的域名,但我不知道为什么会这样。

我不能举出我尝试过的例子,因为他们都失败了,我不得不从我的.htaccess文件中删除它们,基本上,我想301重定向任何进入IP的请求并发送它们在网站的域名中携带他们的查询字符串和所有内容,非常感谢帮助。

2 个答案:

答案 0 :(得分:0)

您是否在.htaccess文件中尝试过此操作?

RewriteEngine On
RewriteBase /
Redirect 301 /old_page1/ http://example.com/new_page1
Redirect 301 /old_page2/ http://example.com/new_page2

答案 1 :(得分:0)

使用以下方法修正了它:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xx\.xx\.xxx\.xxx
RewriteRule (.*)  https://example.com/$1 [R=301,L]
</IfModule>

点必须转义,查询字符串才能正常运行,请务必留下上面显示的尾部斜杠,否则您的页面可能会显示如下:https://example.compage/subpage

在重写规则中保留尾部斜杠可以防止这样做:https://example.com/page/subpage