以下是.htaccess的一部分:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} =on
#RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteEngine on
#RewriteBase /~example/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
当我在RewriteBase之前删除评论时,我可以通过webhost提供的共享SSL访问我的网站:
https://secure.myhost/~example/
。但是,当我尝试使用非安全通过http://example.com
我的问题是:有没有办法让.htaccess根据HTTPS或HTTP有条件地考虑RewriteBase?
答案 0 :(得分:0)
你的重写规则需要一些重构我的事情。用以下代码替换您的代码:
Options +FollowSymLinks -MultiViews
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /~example/
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteRule (?!webroot/)^(.*)$ webroot/$1 [L,NC]
</IfModule>