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

网站迁移后如何用.htaccess将带.php后缀URL 301重定向到无后缀地址

Apache .htaccess 实现.php后缀301重定向到无后缀URL

前置要求

  • 服务器为Apache环境
  • 已开启mod_rewrite扩展
  • 站点配置中AllowOverride参数设置为All,允许.htaccess文件生效

完整配置

将以下规则添加到你站点根目录的.htaccess文件开头即可:

RewriteEngine On

# 重定向所有带.php后缀的合法请求到无后缀路径
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} ^(.+)\.php$
RewriteCond %1 -f
RewriteRule ^(.*)\.php$ /$1 [R=301,L]

规则说明

  • RewriteEngine On:开启Apache重写引擎,是所有重写规则生效的前提
  • RewriteCond %{REQUEST_FILENAME} !-d:排除真实存在的目录请求,避免目录被误重定向
  • RewriteCond %{REQUEST_FILENAME} ^(.+)\.php$:匹配所有带.php后缀的请求路径
  • RewriteCond %1 -f:校验对应的.php文件真实存在,避免不存在的路径也触发重定向返回异常
  • RewriteRule ^(.*)\.php$ /$1 [R=301,L]:捕获.php前面的路径部分,返回301永久重定向到无后缀的对应路径,L标记表示当前规则匹配后不再执行后续重写规则

测试注意

首次验证规则时可以把R=301改成R=302使用临时重定向测试,确认规则符合预期后再改回301,避免301永久重定向被浏览器缓存导致后续调整无法立即生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:15:04