使用 HTTPS 将域名重写至子文件夹

使用 HTTPS 将域名重写至子文件夹

如何正确地使用 HTTPS 将域名重写至子文件夹?

这只会将所有请求重定向到 subfolder1

RewriteCond %{HTTP_HOST} ^(www.)?example1.com$   
RewriteRule !^subfolder1/ subfolder1%{REQUEST_URI} [L]

如果我改为

RewriteCond %{HTTP_HOST} ^(www.)?example1.com$   
RewriteRule !^subfolder1/ https://subfolder1%{REQUEST_URI} [L]

然后会产生一个循环

问题是,如果我导航到此 url:example.com,那么我希望它重定向到 HTTPS,并且不要将 url 更改为类似:example.com/subfolder1

我想让上述内容与 HTTPS 兼容。

答案1

我发布我的解决方案以防有人需要它。但如果有更好的方法,请告诉我。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R]

RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteCond %{REQUEST_URI} !^/folder
RewriteRule (.*)$ /folder/$1

相关内容