我有一个.htaccess文件,将我的.com域名更改为.co.uk,我的.co.uk有一个ssl证书但.com没有。
当我输入: http:// OR 万维网。要么 example.com
一切正常,但如果http://example.com它不会重写为https://www.example.co.uk
如何在.htaccess中更改此内容?
我目前的规则是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profile.php?user=$1
ErrorDocument 404 /404.html
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
非常感谢
答案 0 :(得分:0)
你的规则存在一些问题。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profile.php?user=$1
需要在最后,否则您将同时重定向和路由。
然后改变:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
为:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.co\.uk$ [NC]
RewriteRule ^ https://www.example.co.uk%{REQUEST_URI} [L,R=301]