我开始开发一个新的大应用,这次我用的是 Laravel,而且还是第一次。
我需要为所有页面强制使用 HTTPS,从代码还是通过 .htaccess 并不重要,但我找不到简单的教程。
官方文档没有谈到这个问题。
有关信息,我的 .htaccess 是
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
我的问题是针对 Laravel 5 的,因为我不知道在哪里以及如何修改这个 .htaccess 文件。而且我还问你这是否是 Laravel 的正确方法,或者 Laravel 是否有特定的设置来处理 HTTPs。
所以请不要结束我的问题,并尝试更加关注 Laravel 的特定主题。
如果您可以发布一种简单的方法来修改此文件和/或在 Laravel 配置中修改什么以正确处理 https。
但简而言之,是的,我想强制每个调用都在 HTTPS 上传输。
最佳答案
您需要将此添加到您的 .htaccess
文件:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://YOURWEBSITEDOMAIN/$1 [R,L]
看到这个:
http://www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file
关于Laravel:如何强制使用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006146/