我正在绕圈子,可以有人指导我完成它。
我正在尝试将任何对 .co.uk 或 uk 的调用以及 http 重定向到 https://,并增加了编码点火器和删除/index.php 的复杂性。
我有这个:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.co.uk$ [NC]
RewriteRule ^(.*)$ https://www.example.uk/$1 [R=301,L]
但是访问 http://example.uk 不会重定向 a( 到 https。和 b( 似乎破坏了任何 CSS 链接
http://www.example.co.uk 似乎重定向到 http://www.example.uk/www.example.co.uk
真的无法理解这一点.. 将不胜感激!
假设你想总是重定向到 https://www.planandshop.uk/我认为你不需要为此烦恼:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
因为无论如何您都会在最后显式重定向到 https://www.example.uk。只需确保最终规则匹配即可。 要同时处理 example.co.uk 和 example.uk 您可以像这样编写规则:
RewriteCond %{HTTP_HOST} ^(www.)?example(.co)?.uk$ [NC]
RewriteRule ^(.*)$ https://www.example.uk/$1 [R=301,L]
就像你把万维网做成可选的一样。