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

如何修改代码移除网站URL中的index.php?附Nginx配置尝试记录

解决Nginx移除URL中index.php的配置方案

要移除网站URL里的index.php,你需要在Nginx的server块中添加URL重定向和请求转发两部分核心配置,替代你之前尝试的无效代码:

1. 重定向带index.php的URL到干净路径

这一步会让用户访问http://你的域名/index.php/xxx时,自动跳转到http://你的域名/xxx,彻底消除带index.php的URL:

# 重定向移除index.php
if ($request_uri ~* "^/index.php/(.*)$") {
    return 301 /$1;
}

2. 处理无index.php的请求转发到PHP

用try_files替代你之前的if嵌套逻辑,更稳定地将不带index.php的请求转发给PHP处理:

location / {
    try_files $uri $uri/ /index.php?$args;
}

# 确保你的PHP处理配置正确(如果已有可忽略,需匹配实际PHP-FPM地址)
location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000; # 根据你的PHP-FPM端口/地址调整
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

关键注意点

  • 确认你的server块已正确配置网站根目录和默认索引文件:
    server {
        listen 80;
        server_name 你的域名;
        root /你的网站根目录路径;
        index index.php index.html; # 必须包含index.php
        
        # 上面的重定向和location配置放在此处
    }
    
  • 修改配置后执行nginx -s reload重启Nginx生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:50:18