.htaccess 将IP重定向到域

.htaccess 将IP重定向到域,.htaccess,redirect,dns,ip,.htaccess,Redirect,Dns,Ip,谷歌搜索结果显示我的页面为(ip)/mypage.html,而不是。我认为解决方案是将ip重定向到域。我已经找到了很多非常相似的方法来实现这一点,但没有一种方法适合我。我有一个将http重定向到https的现有规则。这就是我的.htaccess文件当前的外观: RewriteEngine On RewriteCond %{HTTP_HOST} ^11\.11\.11\.111$ [NC] RewriteCond %{SERVER_PORT} 80 RewriteCond %{HTTP_HOST}

谷歌搜索结果显示我的页面为(ip)/mypage.html,而不是。我认为解决方案是将ip重定向到域。我已经找到了很多非常相似的方法来实现这一点,但没有一种方法适合我。我有一个将http重定向到https的现有规则。这就是我的.htaccess文件当前的外观:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^11\.11\.11\.111$ [NC]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^([a-z.]+)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]

我做错了什么?

您的两个重写条件冲突。它们要求http_主机同时为11.11.11.111和*.mydomain.com。只需添加一个或类似的:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^11\.11\.11\.111$ [NC,OR]
RewriteCond %{HTTP_HOST} ^([a-z.]+)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]

大家好,由于主pub_html文件夹中有一个触发器索引,所以我们也需要这样做。这些规则应该将IP屏蔽为http(如果您切换em,则为https),将非www转换为www。这还应该保留子域。这适用于(1)位于pub_html中的简单站点,因此如果您的htaccess中有子域触发器或其他任何内容,请小心测试:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://www.exampledomain.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^50\.28\.55\.76$ [NC,OR]
RewriteCond %{HTTP_HOST} ^([a-z.]+)?exampledomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ http://www.exampledomain.com/$1 [R=301,L]
希望它能对你有所帮助。谢谢你的想法

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^111\.111\.111\.111
RewriteRule (.*) http://yoursite.com/$1 [R=301,L]

将“111”改为您的IP,更新到willian的答案。您只需要替换此代码段中的域名(您的domain.io)

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
RewriteRule (.*) https://your-domain.io/$1 [R=301,L]
这可能有助于:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^ENTER_YOUR_SERVER_IP 
RewriteRule (.*) http://yourdomain.com/$1 [R=301,L]
请查看这篇完整的文章以获得完整的指南。(我强烈建议你去看看)


添加重定向不会改变谷歌认为有效的链接。很明显,谷歌已经为互联网上其他链接到你IP地址的页面编制了索引。谢谢!现在谷歌会调整吗,或者我还需要做些什么?我所有的页面都显示为(ip)/mypage.html。301应该可以通过谷歌实现这一点。虽然我从来没有见过裸IP的,但我认为它会很好的工作。在接下来的几周里,确保每隔一段时间检查一次。301的定义是什么?上述解决方案有效吗?我的域名仍然不会出现在搜索结果中,只有IP的。给它一些时间。否则,在@Gerben创建一个帐户,如何将
192.168.0.5/anyurl
重定向到
https://example.com/anyurl
?这样效果更好!谢谢像111.111.111.111/*这样的东西怎么样?你能更新它或给出建议吗?非常感谢!gerban的答案对我不起作用。。。仅仅因为
RewriteCond%{HTTP_HOST}^([a-z.]+)?mydomain\.com$[NC]
line只是一个警告,这将迫使对localhost 127.0.0.1的内部点击也重定向,这可能会使依赖于点击(例如)查看站点状态的监控服务出错。最好不要使用正则表达式并对IP地址进行硬编码,以实现重定向。