【发布时间】:2019-08-23 15:12:18
【问题描述】:
我有一个 Laravel 项目。我用了Godaddy。最近,我在我的网站上安装了一个 SSL 证书,所以当我在浏览器中输入 https://example.com 时它可以工作,但是当我编写 example.com 时,它通过 HTTP 连接。
为了解决这个问题,我将这些行添加到我的根文件夹的 .htaccess 文件中:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但这会重定向到我https://example.com/public。
我添加了两个 htaccess 一个在根文件夹中,第二个在公共文件夹中。
第一个 htaccess 代码:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L,NC]
第二个htaccess代码是:
选项 -MultiViews -Indexes
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
我怎样才能做到这一点https://example.com。
提前致谢!
【问题讨论】:
-
你尝试过 RewriteCond %{HTTPS} 吗?
-
试试这个
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} -
@fmsthird 我把这段代码放在了 .htaccess 中。
-
根文件夹中的第一个