gpt4 book ai didi

AngularJS SSL .htaccess 问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:26 24 4
gpt4 key购买 nike

我正在尝试在我的 .htaccess 文件上启用 SSL,该文件已经为 html5Mode 直接链接设置,但它总是会导致重定向循环。我在 stackoverflow 上发现的最接近的问题是 this但即使从这里我也无法弄清楚(我是 htaccess 文件的新手)。

AngularJS html5Mode直接链接htaccess文件是

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]

这非常有效。说明 here .

强制 SSL htaccess 是

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这也可以单独使用,但是当尝试组合它们时(在通过 index.html 路由之前强制使用 SSL),它会导致重定向循环。如果我不得不猜测那是因为它首先重定向到使用 https,然后第二次重定向再次使用 http 通过 index.html 路由。但是,我不知道如何测试或修复它。

如有任何帮助,我们将不胜感激。

编辑:正如所指出的,我应该包括我尝试导致循环的内容。

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]

最佳答案

我不是生成 htaccess 文件的专家,但我找到了一个在我的服务器上运行的解决方案。

试试这个:

RewriteEngine on

RewriteBase /

RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{SERVER_NAME}/index.html [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ https://%{SERVER_NAME}/index.html [L]

它强制使用 https,Angular 的 HTML5 模式也运行良好。不要忘记在您的 Web 服务器配置文件中同时设置 http(端口 80)和 https(端口 443)url。当然这个 Angular 代码片段仍然非常重要:

$locationProvider.html5Mode(true);

祝你好运,希望对你有所帮助!

关于AngularJS SSL .htaccess 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com