.htaccess HT访问https和.co.uk至.uk

.htaccess HT访问https和.co.uk至.uk,.htaccess,.htaccess,我会在这件事上绕圈子,需要有人指导我 我正在尝试将任何调用重定向到.co.uk或uk,以及将http重定向到https://,这增加了codeigniter和删除/index.php的复杂性 我有这个: RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteCond %{REQUEST_FILENAME} !-f R

我会在这件事上绕圈子,需要有人指导我

我正在尝试将任何调用重定向到.co.uk或uk,以及将http重定向到https://,这增加了codeigniter和删除/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]
但对的访问不会将a)重定向到https。。和b)似乎打破了任何CSS链接

似乎转向了


我实在想不起来这件事。。谢谢你的帮助

假设您希望始终重定向到,我想您不必为此烦恼:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
因为您在最后还是显式重定向到。只需确保最终规则匹配即可。 要同时处理example.co.uk和example.uk,您可以编写如下规则:

RewriteCond %{HTTP_HOST} ^(www\.)?example(\.co)?\.uk$ [NC]
RewriteRule ^(.*)$ https://www.example.uk/$1 [R=301,L]

就像你让www.optional一样。

谢谢。。是的,我一直在尝试,但我得到了“太多重定向”,我实际上认为这与我的缓存有关,尽管我没有意识到HT访问被缓存了?