我正在使用此代码强制https
并将所有请求重定向到index.html
,但代码导致Too Many Redirects
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://example.com%{REQUEST_URI} [R,L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
我也试过
RewriteRule ^(.*) https://example.com/$1 [R,L]
但它会生成example.com/index.html/page/about
答案 0 :(得分:0)
您的index.html
可能为空(0码),%{REQUEST_FILENAME} -s
无法识别。
而不是使用%{REQUEST_FILENAME} -f
检查您的网址是否是真实文件,无论其大小如何:
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://example.com%{REQUEST_URI} [R,L]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]