Google搜索结果显示我的页面为(ip)/mypage.html,而不是https://www.mydomain.com/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]
我究竟做错了什么?
最佳答案
您的2个重写条件发生冲突。他们要求http_host同时为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]
关于.htaccess - 将IP重定向到域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9985735/