当前位置: 首页 > article >正文

ThinkPHP Nginx 重写配置

目录

NGINX 重写

Admin项目隐藏入口文件,且禁用Admin模块&Admin.php

1️⃣配置仅用模块

2️⃣新增admin_xyz.php文件(自定义入口文件名),并绑定admin模块

3️⃣配置nginx 重写规则


NGINX 重写

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

location / { // …..省略部分代码
	if (!-e $request_filename) {
		rewrite  ^(.*)$  /index.php?s=/$1  last;
		break;
	}
}

应用安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

location /youdomain/ {
    if (!-e $request_filename){
        rewrite  ^/youdomain/(.*)$  /youdomain/index.php?s=/$1  last;
        break;
    }
}

快捷复制粘贴

location / {
    index index.php index.html index.htm;
    if (!-e $request_filename) {
            rewrite /mJnxeAXZHI.php(.*)$ /mJnxeAXZHI.php?s=/$1 last;
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
    }
}

Admin项目隐藏入口文件,且禁用Admin模块&Admin.php

1️⃣配置仅用模块

配置后admin禁止访问,无法用doman/admin/index/index 的方式访问

    // 禁止访问模块
    'deny_module_list'       => ['common', 'admin'],

2️⃣新增admin_xyz.php文件(自定义入口文件名),并绑定admin模块

// [ 应用入口文件 ]
namespace think;

require __DIR__ . '/../vendor/autoload.php';

// 执行HTTP应用并响应
$http = (new  App())->http;

// 绑定到admin模块,不同版本绑定差异请参考手册
$response = $http->name('admin')->run();

$response->send();
$http->end($response);

3️⃣配置nginx 重写规则

location / {
    # 默认执行文件
    index index.php index.html index.htm;

    # 引入nginx配置文件
    #include /www/zksl/public/nginx.htaccess;
    
    # 重写规则
    if (!-e $request_filename) {
            # 我的admin后台入口文件名是`mJnxeAXZHI.php`
            rewrite /mJnxeAXZHI.php(.*)$ /mJnxeAXZHI.php?s=/$1 last;

            # index.php 默认入口重写
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
    }
}

4️⃣常见问题

问题1、后台无法打开,提示模块不存在

原因:Nginx配置后台入口的重写规则,建议后台重写规则优先于index.php的重写规则


http://www.kler.cn/a/415093.html

相关文章:

  • 无需插件,如何以二维码网址直抵3D互动新世界?
  • flink中barrier不对齐的原因和影响
  • 企业后端多租户管理平台
  • [Python/网络安全] Git漏洞之Githack工具基本安装及使用详析
  • Rust 基础语法
  • 九、Spring Boot集成Spring Security之授权概述
  • 从0开始深度学习(31)——循环神经网络
  • 103.【C语言】数据结构之建堆的时间复杂度分析
  • Redis 字符串(String)
  • 前端开发项目中实现极佳的过渡动画效果
  • uniapp input只输入一个字符就自动失去焦点
  • Vue 3 学习文档(一)
  • ais_server 学习笔记
  • 列表上移下移功能实现
  • Qt Graphics View 绘图实例
  • C0034.在Ubuntu中安装的Qt路径
  • 构建现代Web应用:FastAPI、SQLModel、Vue 3与Axios的结合使用
  • linux系统中常用文件日常使用命令记录
  • 架构第十四章:zabbix-4
  • C++条件编译指令
  • Unity ShaderLab 实现交互地毯
  • 【zookeeper04】消息队列与微服务之zookeeper客户端访问
  • Linux基础项目包含(DNS,FTP,Samba)
  • 华为IPD流程学习之——深入解读123页华为IPD流程体系设计方法论PPT
  • STM32-- 看门狗--介绍、使用场景、失效场景
  • 2024健康大数据与智能医疗(ICHIH 2024)