将mod_rewrite与https结合使用

时间:2015-01-19 18:29:21

标签: apache .htaccess mod-rewrite redirect

我需要将所有请求从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个解决方案,但没有任何效果)。

2 个答案:

答案 0 :(得分:0)

假设您只想要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]

答案 1 :(得分:0)

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