.htaccess从IP地址重定向到实际域

.htaccess从IP地址重定向到实际域,.htaccess,redirect,.htaccess,Redirect,如何将IP重定向到实际域?例如: 123.45.678.901至www.example.com 以及所有子文件夹和子页面,如 123.45.678.901/all-pages至www.example.com/all-pages 此外,我的SearchConsole还可以识别同一IP的顶级链接站点,但方式如下: IP 123.45.678-----------------38132链接 IP 123.45.678.901-------3617链接 所以我可能也应该重定向123.45.678。这有可

如何将IP重定向到实际域?例如:

123.45.678.901至www.example.com

以及所有子文件夹和子页面,如

123.45.678.901/all-pages至www.example.com/all-pages

此外,我的SearchConsole还可以识别同一IP的顶级链接站点,但方式如下:

IP 123.45.678-----------------38132链接

IP 123.45.678.901-------3617链接

所以我可能也应该重定向123.45.678。这有可能吗?怎么可能


还有一件事-IP在HTTP中打开,域在HTTPS协议中打开。

您对问题的评论表明,这比问题本身中的描述要容易得多。。。以下内容将为您指明正确的方向,尽管您可能需要根据自己的情况进行调整。它不实现任何可能更改的特定地址,而是重定向每个请求的主机名,因此也重定向与所需主机名不匹配的ip地址。如果您想添加异常,您可以使用RewriteCond指令对其进行di,例如,如果您的http服务器服务于多个主机名/域

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^ https://www.example.com%{REQUEST_URI} [QSA,R=301]
一开始使用302临时重定向是一个好主意,在确定所有设置都正确后,只需将其更改为301永久重定向。这样可以防止在尝试时出现缓存问题

此实现将在http服务器主机配置中或在分布式配置文件.htaccess文件中同样工作。显然,重写模块需要在http服务器中加载,并在http主机中启用。如果使用分布式配置文件,则需要注意在主机配置中启用该文件的解释,并且该文件位于主机的文档根文件夹中


还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用分布式配置文件.htaccess。这些分布式配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实降低了http服务器的速度。它们只是在您无法访问真正的http服务器主机配置的情况下作为最后一个选项提供的:读:非常便宜的服务提供商,或者应用程序坚持编写自己的规则,这显然是一个安全噩梦

这是解决这类问题的方法

在.htaccess文件中放入下一个代码:

RewriteBase /
RewriteCond %{HTTP_HOST} ^123\.45\.678\.901$
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
所以如果你有一个像IP这样的URL

123.45.678.901/all/other/pages/
实现此代码后,所有页面都将被重定向到

www.example.com/all/other/pages/

我希望我能帮助任何人,因为这是可能破坏您的SEO的一个非常重要的因素。

您的问题非常不清楚,您需要编辑以增强信息。。。您需要解释的是:这些ip地址是如何涉及的,您是从这些地址获得http请求还是从这些地址获得http请求?如果是,并且它们实际上是由您控制的,那么您真的获得了对作为主机名的地址的请求吗?关于那些链接站点,这些站点是用来链接到你的站点的,你想如何重定向这些站点?或者你的意思是使用这些地址的引用重定向来自客户端的请求?我们无法神奇地猜到这一切。你需要告诉我们。好的@arkascha,谢谢你的回答,但我认为你得到的比实际情况更复杂。我会尽量说清楚的。我的网站在我的域名www.example.com以及IP地址123.45.678.901上打开。我可以打开这两个页面,使它们重复页面。如果我打开www.example.com/any-other-page-or-subfolder.html,可以使用IP 123.45.678.901/any-other-page-or-subfolder.html打开同一页面。我的问题是Google SE同时识别域和IP,这非常糟糕,因为它们有重复的页面,所以我需要做的是重定向所有带有IP的链接,以作为域打开。htaccess文件中当前有任何指令吗?@MrWhite是的。htaccess文件中有很多重定向。我不知道如何调整它,这就是我写这篇文章的原因线谢谢你提供的详细信息,但这些都不是解决我问题的办法。再说一遍,问题是:你提供的细节太少了。你希望我怎么回答这个问题?这是什么意思?如果你使用这个规则会发生什么?你是如何应用它的?是否有错误的重定向?没有一个你有错误吗?哪一个您在http服务器的错误日志文件中看到了什么?您可能需要一个L或END标志来阻止处理任何后续指令。这应该放在.htaccess文件的顶部。@arkascha您希望得到什么更清楚的解释,然后将IP重定向到真实域。这就像将旧域重定向到仅限新域的IP。我的意思是,你的讨论会走得太远,没有用。任何知道.htaccess的人都知道此问题的解决方案/代码,无需任何讨论。所以请让其他人知道
it’这件事值得他发表意见。谢谢教授,但我在上面的评论中问了非常具体的问题。你不回答的。我在帮你,你表现得很生气。我问这些问题是因为我发布的规则确实会将请求直接重定向到您指定的主机名的IP地址。所以,如果你只是说这不是一个解决方案,你不认为自己没有什么其他人可以帮助你吗?你渴望得到帮助。在我看来,当被问到具体的、以解决方案为中心的问题时,感到恼火是一种非常奇怪的行为。