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

PHP网站URL附加内容异常求助:需通过.htaccess实现干净URL

解决PHP页面异常输出与干净URL实现问题

一、阻止PHP文件后带额外路径的异常访问

当访问ultrasound.php/css这类URL时,服务器会把/css当作PATH_INFO传递给PHP脚本,导致页面输出异常。可以通过两种方式解决:

1. 在PHP脚本内处理

在ultrasound.php的最开头添加以下代码,检测到多余路径时直接返回404:

if (!empty($_SERVER['PATH_INFO'])) {
    http_response_code(404);
    echo "<h1>404 Not Found</h1>";
    exit;
}

2. 用.htaccess拦截

在网站根目录的.htaccess文件中添加规则,直接拦截这类请求并返回404:

RewriteEngine On
# 匹配ultrasound.php后跟随任意内容的URL,返回404
RewriteRule ^ultrasound\.php/.+$ - [R=404,L]

二、实现干净URL(移除.php后缀)

通过.htaccess的Rewrite规则来实现,以下是基础配置:

RewriteEngine On

# 确保请求的不是真实存在的文件或目录(避免静态资源被重写)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 将/ultrasound映射到/ultrasound.php
RewriteRule ^ultrasound$ ultrasound.php [L]

# 如果需要支持动态路径(比如/ultrasound/detail),可以用这条规则
# RewriteRule ^ultrasound/(.*)$ ultrasound.php?page=$1 [L,QSA]
  • QSA参数会保留原URL的查询字符串(比如/ultrasound?id=1会传递到ultrasound.php?id=1)
  • 如果要全站移除.php后缀,可以把规则改成:RewriteRule ^([^\.]+)$ $1.php [NC,L],但注意要配合前面的文件/目录检测规则,避免冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:55:01