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/