gpt4 book ai didi

.htaccess - 为什么我的网站 URL 末尾有双斜杠,如 ://

转载 作者:行者123 更新时间:2023-12-04 08:40:13 26 4
gpt4 key购买 nike

当我输入我的网站 zeugmarket.com 时,它显示为
https://zeugmarket.com//
我写了这个 htaccess 文件从 HTTP 移动到 https 但它也在最后添加了两个斜杠。
我如何阻止它:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://www.zeugmarket.com%{REQUEST_URI} [L,R=301]
Header always set Content-Security-Policy "upgrade-insecure-requests;"

最佳答案

RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://www.zeugmarket.com%{REQUEST_URI} [L,R=301]

似乎有“其他东西”正在添加额外的斜杠 - 由于这些指令,它不会发生。

at the end of my website URL like this: //


双斜杠实际上位于 URL 路径的开头,而不是严格的末尾。例如。如果您要求 http://example.com/foo然后它返回 https://example.com//foo .
然而,这个重定向响应实际上来自 Nginx 服务器,而不是 Apache。 Nginx 可能被用作前端(反向)代理 - 因此需要使用 ENV:HTTPS (环境变量)而不是 HTTPS (服务器变量)在 RewriteCond指示。
我会寻找 Nginx 代理的配置问题,因为这很可能是添加了额外的斜杠。
RewriteRule ^(.*)$ https://www.zeugmarket.com%{$1} [L,R=301]

顺便说一句,在这个例子中(来自你的评论) %{$1}不是严格有效的,并且总是会产生一个空字符串——所以双斜杠绝对不是来自 Apache。
但是,您似乎有一个单页网站。您在任何网址上都没有任何网址路径吗?只有一个可见的 URL,那就是 https://www.example.com/ ,因此您的指令可以简化:
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^ https://www.example.com/ [L,R=301]
请注意,主机名后面应该有一个斜杠(在 URL 路径的开头)。如果您省略它,那么(通常)浏览器将在重定向的请求中附加斜杠。 (但似乎 Nginx 实际上是在重定向响应中附加了这些斜杠 - 在它到达浏览器之前。)
有关浏览器和主机名后的斜杠的更多信息,请参阅网站管理员堆栈上的以下问题:
https://webmasters.stackexchange.com/questions/35643/is-trailing-slash-automagically-added-on-click-of-home-page-url-in-browser

关于.htaccess - 为什么我的网站 URL 末尾有双斜杠,如 ://,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64604068/

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