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

如何将静态.htaccess规则改为动态规则,实现根路径跳转及路径隐藏

解决方案

你之前出现302错误和首页无法访问,核心是原配置中HTTPS跳转规则缺失协议头,同时规则顺序错误导致重定向循环,以下是修复后的完整配置:

RewriteEngine On
RewriteBase /

# 修复HTTPS跳转规则:443端口跳转至带协议的无www域名
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} ^www\.avantitecnologiati\.com.br [NC]
RewriteRule ^(.*)$ https://avantitecnologiati.com.br/$1 [R=301,L]

# 规则1:直接访问真实存储路径的请求,301重定向到根目录短路径
RewriteCond %{THE_REQUEST} \s/agencias/pagina_agencia/([^\s/.]+)(\.php)?\s [NC]
RewriteRule ^ /%1 [R=301,L]

# 规则2:动态匹配根目录请求,映射到agencias/pagina_agencia目录下的php文件
# 仅当根目录无对应文件/目录、且目标路径存在对应php文件时才重写
RewriteCond %{HTTP_HOST} ^www\.avantitecnologiati\.com.br [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/agencias/pagina_agencia/$1.php -f
RewriteRule ^([^/]+)$ agencias/pagina_agencia/$1.php [L,QSA]

# 原有隐藏.php后缀规则
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+ [NC]
RewriteRule ^(.+)\.php$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/shtml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

#Custom Error Page
ErrorDocument 404 http://www.avantitecnologiati.com.br/

配置说明

  • 自动适配新增文件:规则2会自动检测agencias/pagina_agencia目录下的php文件,无需每次手动添加RewriteRule,新增文件后直接访问根目录对应文件名即可生效
  • 隐藏真实路径:规则1会拦截所有直接访问真实存储路径的请求,自动301重定向到根目录短路径,不会暴露实际存储位置
  • 兼容原有逻辑:保留了原有的.php后缀隐藏、静态资源压缩、404错误页配置,原有功能不受影响
  • 避免循环冲突:通过THE_REQUEST匹配原始请求、REQUEST_FILENAME判断文件存在性的方式,规避了内部重写导致的重定向循环问题

内容的提问来源于stack exchange,提问作者Sophie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:54:02