我们有一个网站,目前通过ip地址和域名访问,这取决于用户。
如果用户通过域名访问网站,我们需要301重定向到正确的版本(如果访问方式不正确),例如: 301重定向到,https://www.example.com (需要同时是www和https)
因此,如果他们访问一个页面:https://example.com/page,它将301重定向到https://www.example.com/page,如果他们访问一个页面(没有https) http://wwww.example.com/page,它将301重定向到页面的https版本:https://www.example.com/page,最后,如果他们没有htts和www,它将重定向到https和www版本。
但是,如果他们通过IP地址直接访问站点/页面(例如:http://131.14.12.145/-但这在技术上可能会改变),它将不会执行上述任何重定向。
关于如何设置htaccess规则,有什么建议吗?
谢谢
发布于 2014-12-18 11:44:50
试试这个。
Options +FollowSymLinks
RewriteEngine On
# (1) Redirect http to https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# (2) Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# (3) Direct access through IP
# CHANGE 11.11.11.11 TO YOUR ACTUAL IP
RewriteCond %{HTTP_HOST} ^11\.11\.11\.11$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]https://stackoverflow.com/questions/27538615
复制相似问题