通过.htaccess文件为Symfony设置HTTPS

时间:2017-05-10 13:50:14

标签: .htaccess symfony symfony-2.8

我需要根据Symfony为我的项目设置HTTPS。 在根目录中,我有.htaccess这个内容,因为web root不是web目录。

RewriteEngine On
RewriteRule ^$ web/ [L]
RewriteRule (.*) web/$1 [L]

我需要在.htaccess文件(或/web/.htaccess文件)中设置什么来强制使用HTTPS?

1 个答案:

答案 0 :(得分:0)

在您的根.htaccess文件之前现有的重写尝试以下内容:

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

只有在您确定其工作正常时,才能将R更改为R=301

注意:这不会尝试域规范化(即www或非www?)。在替换中使用请求中使用的主机

更新:为了帮助调试,请尝试以下操作(在注释掉上述内容后):

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^$ /?HTTPS=%{HTTPS}&SERVER_PORT=%{SERVER_PORT} [R,L]

使用HTTPS协议访问文档根目录,即。 https://example.com/。 (希望这与您的Symfony应用程序不冲突。) 您应该在地址栏中的URL上看到/?HTTPS=on&SERVER_PORT=443形式的查询字符串。你看到了什么?