【问题标题】:301 Redirect server IP to domain while keeping query string301 将服务器 IP 重定向到域,同时保留查询字符串
【发布时间】:2017-08-11 00:20:08
【问题描述】:

我已经四处搜索,但没有人和我一样有确切的问题,我无法弄清楚如何在不搞乱网站的情况下做到这一点。

-我的网站是 WordPress。
-Vultr VPS 与 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 的请求并发送它们到站点的域携带他们的查询字符串和所有内容,非常感谢您的帮助。

【问题讨论】:

  • 您是否可以通过 FTP 客户端访问服务器?
  • @Kobbe 是的,我愿意,我一直在尝试一些 sn-ps,但它们都以某种方式搞砸了网站

标签: wordpress apache .htaccess redirect


【解决方案1】:

您是否在 .htaccess 文件中尝试过这个?

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

【讨论】:

【解决方案2】:

使用以下方法修复它:

<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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2012-04-25
    • 2011-01-30
    相关资源
    最近更新 更多