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

.htaccess实现支持任意参数的MVC站点Pretty URL美化配置方法

通用URL重写实现方案

Apache 服务器配置

在站点根目录(即示例中的mywebsite目录)下新建.htaccess文件,写入如下规则:

RewriteEngine On
# 跳过真实存在的文件、目录的重写逻辑
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 将所有路径片段统一传入index.php的path参数
RewriteRule ^(.*)$ index.php?path=$1 [L,QSA]

规则说明:QSA标记会保留原有query string,不会覆盖额外传入的参数。

Nginx 服务器配置

在站点对应的server配置块中添加如下规则:

location /你的站点根路径/ {
    # 跳过真实存在的文件、目录的重写逻辑
    if (!-e $request_filename) {
        rewrite ^/你的站点根路径/(.*)$ /你的站点根路径/index.php?path=$1 last;
    }
}

无需适配本地/线上环境差异,仅需修改你的站点根路径为对应环境的站点路径前缀即可,核心重写逻辑完全通用。

后端参数解析逻辑

重写规则只会将所有路径片段统一传递给入口文件,你可以在index.php中自行拆分得到所有参数,完全不受参数数量、参数内容限制:

<?php
// 获取路径参数
$rawPath = trim($_GET['path'] ?? '', '/');
// 拆分得到所有参数的有序数组
$params = explode('/', $rawPath);
// 示例:访问 /value1/value2/value3 时,$params[0] = 'value1',$params[1] = 'value2',$params[2] = 'value3'
// 可根据MVC需求自行分配参数对应的控制器、方法、业务参数
print_r($params);
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 12:24:03