【发布时间】:2017-10-04 02:40:00
【问题描述】:
所以我正在使用 cloudways 和 digitalocean,现在尝试将letsencrypt 添加到我的 laravel 5.4 网络应用程序中......
并且根据 cloudways 中的技术支持,他们说我需要修改我的 .htaccess 才能像这样
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
<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>
但在那之后我得到了
ERR_TOO_MANY_REDIRECTS
出了什么问题? cloudways 技术支持也无法提供任何解决方案......所以我有点卡在这里
我之前也做了一些研究,读到我需要添加
If(env(' APP_ENV') !== 'local') { $url->forceSchema('https'); }
在启动函数中进入 app/Providers/AppServiceProvider.php 以使所有请求为 https....
但仍然没有运气......
【问题讨论】:
-
尝试
RewriteCond %{ENV:HTTPS} !=on而不是RewriteCond %{HTTP:X-Forwarded-Proto} !https -
不......仍然无法正常工作......
-
附加调试参数以查看实际变量内容。
... https://%{HTTP_HOST}/$1?%{HTTP:X-Forwarded-Proto} ... -
嗯还是不行.... >