我已经在运行Expression Engine的网站上安装了SSL证书,并添加了以下.htaccess规则以将http重定向到https:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
这很好,除了我刚刚发现它破坏了控制面板中的CSS。我不知道为什么。但是删除这些.htaccess规则可以使其再次正常工作。
因此,可能具有与上述规则相同的规则,但是会为所有以/admin.php
开头的URL添加一个例外?
答案 0 :(得分:1)
是的,是!
只需将此条件添加到您的规则中即可:
RewriteCond %{REQUEST_URI} !^/admin.php [NC]
例如,如果有人输入类似http://example.com/admin.php
的URL,它将不会重定向到HTTP。
此外,您还可以删除多余的重写,以减少服务器的负载。您不必这样做,只是为您提供了一个额外的选择:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{REQUEST_URI} !^/admin.php [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]