使用.htaccess更改域指向的位置

时间:2014-12-28 03:28:35

标签: .htaccess

我有一个.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]

非常感谢

1 个答案:

答案 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]