找回密码
 立即注册
CeraNetworksBGVM服务器主机交流IP归属甄别会员请立即修改密码
查看: 79|回复: 8

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

[复制链接]

11

主题

135

回帖

433

积分

中级会员

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

    看上去也没问题,比如访问 www.xx.com会强制跳转到https://xx.com//
    注意网址末尾会自动加上2个斜杠
    不想要这2个斜杠
  • 回复

    使用道具 举报

    79

    主题

    1683

    回帖

    5009

    积分

    论坛元老

    积分
    5009
    发表于 2024-2-24 11:26:20 | 显示全部楼层
    不好意思apache不熟,主要用ng

    回复

    使用道具 举报

    29

    主题

    214

    回帖

    749

    积分

    高级会员

    积分
    749
    发表于 2024-2-24 11:30:31 | 显示全部楼层
    这种问题建议使用chatgpt
    回复

    使用道具 举报

    4

    主题

    38

    回帖

    156

    积分

    注册会员

    积分
    156
    发表于 2024-2-24 11:49:03 | 显示全部楼层
    在您提供的Apache虚拟主机配置中,强制从HTTP跳转到HTTPS时出现了额外的两个斜杠(//)的问题,可能是由于重写规则RewriteRule中的目标URL构造有误所导致。在规则RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]中,$1代表了匹配到的请求路径,如果这个路径是根路径(即"/"),那么拼接时就会出现//的情况。

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

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

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

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

    在应用任何配置更改后,请确保重启Apache服务以使更改生效。此外,测试配置更改之前和之后的行为,确保重定向按预期工作,并且没有引入其他问题。
  • 回复

    使用道具 举报

    11

    主题

    135

    回帖

    433

    积分

    中级会员

    积分
    433
     楼主| 发表于 2024-2-24 12:26:02 | 显示全部楼层

    洗澡之后挖耳朵 发表于 2024-2-24 11:49

    在您提供的Apache虚拟主机配置中,强制从HTTP跳转到HTTPS时出现了额外的两个斜杠(//)的问题,可能是由于 ...

    谢谢写了这么多,但是测试好像还是没用,apache肯定重启了
    回复

    使用道具 举报

    8

    主题

    380

    回帖

    1030

    积分

    金牌会员

    积分
    1030
    发表于 2024-2-24 11:49:00 | 显示全部楼层
    楼主把网址发出来,看看别人访问会不会多了//。
    回复

    使用道具 举报

    11

    主题

    135

    回帖

    433

    积分

    中级会员

    积分
    433
     楼主| 发表于 2024-2-24 12:28:35 | 显示全部楼层

    hfhfg 发表于 2024-2-24 12:28

    楼主把网址发出来,看看别人访问会不会多了//。

    网址真不敢放,也可能是chrome浏览器缓存的,我换个浏览器试下好像正常了
    回复

    使用道具 举报

    2

    主题

    1497

    回帖

    3270

    积分

    论坛元老

    积分
    3270
    发表于 2024-2-24 12:32:31 | 显示全部楼层

    秋田 发表于 2024-2-24 12:26

    谢谢写了这么多,但是测试好像还是没用,apache肯定重启了

    他的回复一看就是gpt的。。。
    你应该多学习一下学会用gpt
    回复

    使用道具 举报

    17

    主题

    319

    回帖

    1031

    积分

    金牌会员

    积分
    1031
    发表于 2024-2-24 12:28:00 | 显示全部楼层
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]

    v 我 50 意思意思
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-5-29 03:43 , Processed in 0.052856 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

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