RewriteCond %{HTTP_HOST} ^(www.)?domain.tdl$
RewriteRule !^MySubFolder /MySubFolder%{REQUEST_URI} [L]
为什么此 rewirte 条件仅适用于 http 而不适用于 https?
使用 mod_rewrite 至少需要在文档根目录上设置"允许覆盖文件信息"才能使其起作用。
检查您的 SSL 配置(默认情况下为/etc/httpd/conf.d/ssl.conf),确保它看起来像这样:
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride FileInfo
</Directory>
允许覆盖的默认值为"无",因此添加文件信息功能的任何其他设置(如"全部")都可以。
http://httpd.apache.org/docs/2.4/mod/core.html#allowoverride
有关此答案的其他信息可以在这里找到:为什么.htaccess重定向在http中起作用,而在https中不起作用?
从那里我有你的问题的可能答案。