我试图找出重写规则。我们目前有以下规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(blog\.)?example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/(public|scripts)/ [NC]
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>
我们需要一个额外的规则,将所有HTTP流量重定向到HTTPS。
我已经尝试了以下方法,但没有工作。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP_HOST} ^(blog\.)?example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/(public|scripts)/ [NC]
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>
答案 0 :(得分:1)
尝试在重定向规则中添加L
标记:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
RewriteCond %{HTTP_HOST} ^(blog\.)?example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/(public|scripts)/ [NC]
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>