You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache httpd.conf配置/example跳转至example.html不生效问题求助

问题排查点及解决方案

    1. 确认mod_rewrite模块已启用
      检查Apache主配置文件中是否存在LoadModule rewrite_module modules/mod_rewrite.so配置,且该行没有被#注释。修改后需执行apachectl configtest确认配置语法无问题,再重启Apache服务。
    1. 规则仅作用于HTTP 80端口请求,HTTPS请求未覆盖
      你当前的重写规则全部写在<VirtualHost *:80>节点下,仅会处理HTTP协议的请求。如果用户直接访问HTTPS协议的https://www.test.com/example,请求会命中443端口的虚拟主机配置,而该配置下没有对应的重写规则,会直接去查找/home/test_com/example路径的资源,不存在就返回404。
      解决方案:将/example的重写规则同步添加到443端口的HTTPS虚拟主机配置中,或者统一将规则放到全局配置段生效。
    1. HTTP转HTTPS规则配置不完整
      你当前配置的第二条重写规则RewriteRule (.*) https://%{HTTP_HOST}没有携带原请求路径参数,也没有添加跳转和终止标记,若前面的/example规则未命中,会导致跳转后路径丢失。建议修改为:
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}$1 [R=301,L]
    
    1. 浏览器缓存干扰测试
      即使服务端配置修改正确,之前的错误跳转可能会被浏览器缓存。测试时建议使用浏览器无痕模式,或者通过curl -v http://www.test.com/example命令直接查看请求跳转链路,避免缓存影响判断。
    1. 规则匹配精度调整(可选)
      你当前的RewriteCond %{REQUEST_URI} /example是模糊匹配,只要请求URI中包含/example字符串就会触发跳转。如果需要仅匹配精准路径/example,可以修改为:
    RewriteCond %{HTTP_HOST} ^www.test.com$
    RewriteCond %{REQUEST_URI} ^/example$
    RewriteRule ^ https://www.test.com/example.html [R=303,L]
    

内容的提问来源于stack exchange,提问作者김윤성

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:18:02