我有代码:
# No https a https
RewriteCond %{HTTPS} !=on [NC]
RewriteRule !(cecabank)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
当http未开启且URL不是cecabank时,我想重定向到https。
这有效:http://sample.es/sample将301重定向到https://sample.es/sample
这不起作用:http://sample.es/cecabank将301重定向到http://sample.es/index.php
我不希望使用301重定向到index.php。如果我删除HTTPS重定向工作正常但它不会重定向。
答案 0 :(得分:2)
尝试以下
RewriteEngine On
# No https a https
RewriteCond %{HTTPS} !=on [NC]
RewriteCond %{REQUEST_URI} !^/cecabank [NC]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L,END]
END
标志(自Apache 2.4+以来可用)将负责强制重定向。