我需要根据Symfony为我的项目设置HTTPS。 在根目录中,我有.htaccess这个内容,因为web root不是web目录。
RewriteEngine On
RewriteRule ^$ web/ [L]
RewriteRule (.*) web/$1 [L]
我需要在.htaccess文件(或/web/.htaccess文件)中设置什么来强制使用HTTPS?
答案 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
形式的查询字符串。你看到了什么?