我注意到我可以使用IP地址“ 134.209.16.153”访问我的网站“ cbdshopy.co.uk”,这会导致重复的内容。
我想将IP访问重定向到域。
这是我当前的.htaccess,可100%强制使用https和非www
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END WordPress
我尝试将以下行添加到我的.htaccess中,以强制IP访问该域。
RewriteCond %{HTTP_HOST} ^134.209.16.153
赞
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteCond %{HTTP_HOST} ^134.209.16.153
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END WordPress
但似乎并不能解决问题。
有什么想法吗?
答案 0 :(得分:0)
您的规则不起作用,因为您正在检查两个不同的主机头www.example
和134.209.16.153
。您只需要检查IP主机。
这是更正的版本:
#redirect ip to domain
RewriteCond %{HTTP_HOST} ^134.209.16.153
RewriteRule ^(.*)$ https://yoursite.com/$1 [R=301,L]
#www to non-www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule (.*) https://%1/$1 [L,R=301]
#non ssl to ssl
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
在测试这些新的重定向之前,请确保清除浏览器缓存。