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

如何通过.htaccess配置移除静态PHP文件URL中的.php后缀

修改后的完整.htaccess代码

ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
ErrorDocument 403 /403.php

RewriteEngine On

# 将带.php后缀的请求301重定向到无后缀版本
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# 内部重写:无后缀的请求对应到.php文件
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

规则说明

  • 新增的重定向规则会识别所有带.php后缀的主动访问请求,自动301跳转到去掉后缀的URL,实现你要的sitename.com/page.php跳转至sitename.com/page的效果,THE_REQUEST变量用来避免内部重写时出现死循环
  • 原有内部重写规则保留,作用是当用户访问无后缀URL时,服务器内部自动加载对应.php文件的内容,用户无感知
  • 所有PHP后缀处理规则放在WordPress默认规则前,不会影响WordPress本身的伪静态功能

生效验证

修改后先清空浏览器缓存,再访问带.php后缀的静态页面测试,确认会自动跳转到无后缀地址,同时WordPress站点所有页面访问正常即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:45:01