全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 634|回复: 8

救助高手http强制跳转到https末尾会多2个斜杠

[复制链接]
发表于 2024-2-24 11:23:48 | 显示全部楼层 |阅读模式
apache的vhost配置文件中加了规则
  1. RewriteEngine on
  2. RewriteCond %{SERVER_PORT} !^443$
  3. RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
复制代码


看上去也没问题,比如访问 www.xx.com会强制跳转到https://xx.com//
注意网址末尾会自动加上2个斜杠
不想要这2个斜杠
发表于 2024-2-24 11:26:20 | 显示全部楼层
不好意思apache不熟,主要用ng
发表于 2024-2-24 11:30:31 | 显示全部楼层
这种问题建议使用chatgpt
发表于 2024-2-24 11:49:03 | 显示全部楼层
在您提供的Apache虚拟主机配置中,强制从HTTP跳转到HTTPS时出现了额外的两个斜杠(//)的问题,可能是由于重写规则RewriteRule中的目标URL构造有误所导致。在规则RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]中,$1代表了匹配到的请求路径,如果这个路径是根路径(即"/"),那么拼接时就会出现//的情况。

要解决这个问题,可以稍微调整一下重写规则,确保在跳转时不会额外添加不必要的斜杠。这里有一个修正方案,可以尝试如下修改:

  1. RewriteEngine on
  2. RewriteCond %{SERVER_PORT} !^443$
  3. RewriteRule ^/?$ https://%{SERVER_NAME}/ [L,R=301]
  4. RewriteRule ^(.+)$ https://%{SERVER_NAME}/$1 [L,R=301]
复制代码


这个解决方案包含了两条重写规则:

第一条规则针对根路径的请求进行处理,直接将其重定向到https://版本的根路径,避免了出现两个斜杠的情况。
第二条规则处理非根路径的请求,确保路径前不会多出一个斜杠。
请注意,这里使用了R=301标志,表示这是一个永久重定向,有助于搜索引擎优化(SEO)。如果您希望这是一个临时重定向,可以改用R=302。

在应用任何配置更改后,请确保重启Apache服务以使更改生效。此外,测试配置更改之前和之后的行为,确保重定向按预期工作,并且没有引入其他问题。
 楼主| 发表于 2024-2-24 12:26:02 | 显示全部楼层
洗澡之后挖耳朵 发表于 2024-2-24 11:49
在您提供的Apache虚拟主机配置中,强制从HTTP跳转到HTTPS时出现了额外的两个斜杠(//)的问题,可能是由于 ...

谢谢写了这么多,但是测试好像还是没用,apache肯定重启了
发表于 2024-2-24 12:28:35 | 显示全部楼层
楼主把网址发出来,看看别人访问会不会多了//。
 楼主| 发表于 2024-2-24 12:32:31 | 显示全部楼层
hfhfg 发表于 2024-2-24 12:28
楼主把网址发出来,看看别人访问会不会多了//。

网址真不敢放,也可能是chrome浏览器缓存的,我换个浏览器试下好像正常了
发表于 2024-2-24 12:45:21 | 显示全部楼层
秋田 发表于 2024-2-24 12:26
谢谢写了这么多,但是测试好像还是没用,apache肯定重启了

他的回复一看就是gpt的。。。
你应该多学习一下学会用gpt
发表于 2024-2-24 12:49:57 来自手机 | 显示全部楼层
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]

v 我 50 意思意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-9 23:06 , Processed in 0.061435 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表