此规则:
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
…将把请求重写为
https://rto12.ca/REQUEST_URI
,然后将其传递给下一个规则(下一个规则的输入将被添加到请求的末尾)
https://rto12.ca/REQUEST\u URI
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
有可能将所有规则合并到最多一个重定向中,所以让我来研究一下,看看我能想出什么,然后更新答案。不过,添加这些标志应该可以解决您的问题。
编辑
:我认为这应该一步到位:
RewriteEngine On
RewriteCond %{HTTPS} =off [OR]
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html|php)
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$
RewriteRule ^(index\.(html|php))|(.*)$ https://www.%2/$3 [R=301,L]