使用 mod_rewrite 和 https

Using mod_rewrite with https

我需要将所有请求从 sub.domain.com 重定向到 sub.domain.com/www

我已经在我的 .htaccess 中用这段代码完成了:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?sub\.domain\.com$
RewriteRule ^$ www/ [L]

当我通过 http 进入网站时,这工作正常,但当我通过 https 进入时,例如 https://sub.domain.com,它一直将我重定向到 http。如何将 https 请求重定向到 https? (我尝试了 100 种解决方案,但没有任何效果)。

假设你只想要 https .. 你首先要强制将 http 请求发送到 https:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

然后继续您的常规重定向

RewriteCond %{HTTP_HOST} ^(www\.)?sub\.domain\.com$
RewriteRule ^$ www/ [L]

问题解决:我没有提到子域上的应用程序 运行 使用 Nette 框架,因为我认为它不相关。但显然 Nette 覆盖了 mod_rewrite 设置,因此必须在 Nette 本身中配置 https 的使用。