谷歌搜索已经索引了我的网站的IP地址,似乎是挣扎与indexability整体(它被阻止与robots.txt指令位)。
我研究了以前的解决方案,并尝试了它们,但网站IP在浏览器中呈现时似乎仍然提供200状态代码,不同的HTTP头测试工具/爬虫(如Screaming Frog)将不一致地显示200或301代码。
作为参考,我使用SiteGround托管(专用IP -索引的那个,这发生在我从共享SiteGround托管切换后)和WordPress。
是否需要在同一个或不同的文件中更改其他设置?
我试图修复这个问题的htaccess文件代码是(我的网站渲染没有'www'前缀fyi):
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www.example.com(.*)$ [NC]
RewriteRule ^(.*)$ https://example.com$1 [R=301,L]
我的htaccess文件也包含了这个额外的代码,它可能是重复的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on [OR]
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule .* - [E=WPR_SSL:-https]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=WPR_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
RewriteCond %{REQUEST_URI} !^(/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/(index.php/)?(.*)wp-json(/.*|$))$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit|WhatsApp).* [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f
RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L]
</IfModule>
尽管有这些规则,你可以在浏览器中呈现IP地址,一些爬虫会说它是一个200状态码,它被索引为一个200状态码URL。
1条答案
按热度按时间unguejic1#
因为你有自己的专用服务器,所以不应该使用
.htaccess
。您应该使用虚拟主机修改Apache Web服务器配置。您应该有一个默认的虚拟主机,要么显示404错误,或重定向到您的网站。然后你应该有一个虚拟主机来显示你的网站。显示IP地址的错误页面通常比重定向到您的网站更好。如果你重定向到你的网站,那么任何人指向你的服务器的任何主机名都会重定向到你的网站。有时候,一些令人讨厌的东西会指向你的服务器。
请参阅阻止指向我的专用IP的随机域作为示例配置。