Apache 使用htaccess在所有流量上强制使用HTTPS和www

Apache 使用htaccess在所有流量上强制使用HTTPS和www,apache,.htaccess,Apache,.htaccess,我只能访问cPanel和.htaaaccess文件。我希望将非www到www和http到https作为一个整体。我想以以下方式重定向网站 http://example.co.uk/ > https://www.example.co.uk/ // https and www http://www.example.co.uk/ > https://www.example.co.uk/ // https https://example.co.uk

我只能访问cPanel和.htaaaccess文件。我希望将非www到www和http到https作为一个整体。我想以以下方式重定向网站

http://example.co.uk/       >     https://www.example.co.uk/   // https and www

http://www.example.co.uk/   >     https://www.example.co.uk/   // https

https://example.co.uk/      >     https://www.example.co.uk/   // www

https://www.example.co.uk/  >     https://www.example.co.uk/   // ok
重定向还应适用于该域中的所有流量(主页和链接)。而且它不应该因为搜索引擎优化而重定向到
301
。但是我想直接访问https和www

目前我有以下访问权限

RewriteEngine On
RewriteCond %{SERVER_PORT} !=443 [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
RewriteRule ^(.*)$ https://www.example.co.uk/$1 [R=301,L]
它很好用。但两次使用301重定向
http://example.co.uk

你可以试试这个

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

来源:

您显示的规则将只重定向一次。你确定没有通过cpanel设置
http->https
吗?是的!不,在cPanel上