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

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.mrgr.cn/news/78857.html

相关文章:

  • Apache Superset:一款基于Web的开源BI工具
  • taro使用createAsyncThunk报错ReferenceError: AbortController is not defined
  • Gstreamer中,appsink、appsrc、fakesink与第三方交互
  • 大模型开发和微调工具Llama-Factory-->量化2(AQLM和OFTQ)
  • mac下安装Ollama + Open WebUI + Llama3.1
  • React进阶面试题(四)
  • 【老白学 Java】抽象类和抽象方法
  • 【UE5 C++】判断两点连线是否穿过球体
  • 基于 LlamaFactory 的 LoRA 微调模型支持 vllm 批量推理的实现
  • 【NLP 4、数学基础】
  • 【软考速通笔记】系统架构设计师⑤——软件工程基础知识
  • Zero to JupyterHub with Kubernetes中篇 - Kubernetes 常规使用记录
  • HarmonyOS
  • winform跨线程更新界面
  • Kafka常用的一些命令
  • QT去除窗口边框(无边框)
  • Java中 HttpURLConnection 和 HttpClient 详解(初学者友好)
  • oracle中删除指定前缀的表
  • Web API基本认知
  • 胖AP和瘦AP的区别
  • C#基础教程
  • 理解字母形状,从而获得含义
  • 【Linux】常用命令二
  • 【实验13】使用预训练ResNet18进行CIFAR10分类
  • Docker基础使用
  • 【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍