我的Laravel项目已经在共享托管服务器中(我知道你在想什么......)。在根文件夹中,我得到了一个.htaccess文件,其中包含以下代码:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact
<IfModule mod_rewrite.c>
RewriteCond $1 !^(public)
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>
这给了我很好的URL而没有“公开”,但有一个案例: 如果我去:
www.example.com
所以它始终与URL www ...如果我去:
https://www.example.com
它始终与URL https:// ....
保持一致我的问题: 无论我先输入www或https,如何使网址始终为https://www.example.com
答案 0 :(得分:0)
这应该做:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
答案 1 :(得分:0)
您可以通过在.htaccess文件中添加以下行来实现此目的
SelectionView
答案 2 :(得分:0)
将代码放在laravel根目录的.htacces
中,它应该可以完成以下工作:
RewriteEngine On
# enforce https
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
# use public directory as root, but don't include it in url
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]