【问题标题】:Website not working in https but working fine in http网站无法在 https 中运行,但在 http 中运行良好
【发布时间】:2020-01-27 15:54:29
【问题描述】:

我最近启动了我的网站,当它是 http 时,它运行良好。然后我使用 certbot 将 HTTP 转换为 https 并将所有 HTTP 重定向到 https,它也可以正常工作,但 https 网站现在没有加载。 从 HTTP 重定向到 https 很好,但网站无法打开。 可能是 .htaccess 的问题

这是我的 htaccess 代码

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} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt|\.ico|\.woff|\.woff2|\.svg)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css|js|images|fonts|assets|installer)/(.*)$ public/$1/$2 [L,NC]

有人可以帮帮我吗?

【问题讨论】:

  • 您很可能需要设置一个虚拟主机(如果使用 apache)或配置一个服务器文件(如果使用 nginx)。所有到达端口 80 的流量都应重定向到端口 443。您无法使用 htaccess 文件执行此操作,因为流量已经到达您的应用程序,因此无法进行可行的重定向。
  • 解释一下究竟是什么 “但是网站没有打开”的真正含义。
  • 请检查服务器的php版本
  • 你能给我们看一个屏幕截图来演示“https 网站现在没有加载”吗?

标签: php laravel apache .htaccess


【解决方案1】:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

【讨论】:

  • 虽然此代码可以解决问题,including an explanation 说明如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 2019-12-22
  • 2017-12-07
相关资源
最近更新 更多