Dot-Htaccess

使用 HTTPS 將域重寫到子文件夾

  • July 22, 2019

如何正確使用 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 一起使用。

如果有人需要,我會發布我的解決方案。但如果有更好的方法,請告訴我。

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

引用自:https://serverfault.com/questions/976169