使用强制HTTPS的Laravel .htaccess

时间:2018-06-19 08:59:02

标签: laravel apache .htaccess ssl https

我在我的Laravel网站的根目录中使用此.htaccess文件进行托管,因此访问者在URL地址中看不到/ public /:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^my-domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.my-domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

但到目前为止,我找不到添加强制HTTPS重定向的简单解决方案。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

强制域使用.htaccess

使用https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L,NE]

答案 1 :(得分:0)

使用以下代码修改.htaccess:

<IfModule mod_rewrite.c>
Options -Indexes 
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]
</IfModule>

答案 2 :(得分:0)

这会对你有所帮助 你应该在.htaccess

中尝试下面

RewriteCond%{HTTPS}!on

RewriteRule(。*)https://www.my-domain.com/ $ 1 [R = 301,L]