千家信息网

如何实现Nginx泛解析到子目录后自动判断有无public目录

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍如何实现Nginx泛解析到子目录后自动判断有无public目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言我们大家在配置本地 PHP 开发环境时,除非是在
千家信息网最后更新 2026年11月02日如何实现Nginx泛解析到子目录后自动判断有无public目录

这篇文章主要介绍如何实现Nginx泛解析到子目录后自动判断有无public目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

前言

我们大家在配置本地 PHP 开发环境时,除非是在 Windows 下,否则我都是偏向于 Nginx + PHP-FPM, 即使 Mac 下已经有了自带的 Apache+PHP 环境,依然如此。一方面是因为 Mac 自带的 PHP 版本不够新(5.6.x),另一方面,Nginx + PHP-FPM 更接近于我的生产服务器环境,而且也方便用 Homebrew 来管理版本和扩展。

在 Mac 下开发 Laravel, 官方提供了 valet, 可以方便地把子目录映射为虚拟主机,但我在使用的时候,遇到一些问题:

  • 真实错误信息难以追踪,总是报 valet 的 index.php 或者 laravel 的 index.php 错误;

  • Symfony 框架里的 config.php/app_debug.php 等无法直接访问。

于是我只保留了 dnsmasq 来管理特定后缀的域名(实现自动解析),然后放弃了 valet,自己做了一个泛解析绑定到本地子目录的配置。

具体配置如下(域名是 *.app):

server { listen 80; server_name ~^(?.+).app$; set $root /Users/kairee/Sites/$subdomain;  if ( -d "/Users/kairee/Sites/$subdomain/public") {  set $root /Users/kairee/Sites/$subdomain/public; } root $root; charset utf-8; client_max_body_size 128M; index index.php;  location / {  try_files $uri $uri/ /index.php$is_args$args; }  access_log off;  location ~ \.php\?? {  fastcgi_split_path_info ^(.+\.php)(/.+)$;  fastcgi_pass unix:/tmp/php.sock;  fastcgi_index index.php;  include fastcgi_params;  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }  location ~ /\.ht {  deny all; }}

采用这个配置以后:

  • 如果存在 ~/Sites/domain/public, 则 domain.app 域名的根目录会指向 ~/Sites/domain/public;

  • 如果存在 ~/Sites/domain 但是不存在 ~/Sites/domain/public, 则 domain.app 域名的根目录会指向 ~/Sites/domain;

  • 网站根目录下真实存在的 php 文件可以直接访问,只有不存在的文件才会通过入口文件(index.php)处理;

  • 如果需要支持其它框架,可以在配置文件中加一条 if 语句实现,比如要支持 symfony 的话,复制一下 if 判断块,把 public 改成 web 即可。

以上是"如何实现Nginx泛解析到子目录后自动判断有无public目录"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

配置 域名 文件 子目 子目录 目录 根目录 环境 内容 指向 框架 版本 篇文章 错误 开发 支持 管理 一方 不够 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 智能科技公司是互联网公司吗 金融科技与互联网金融 互联网金融科技平台 美国互联网黑科技 卓越科技互联网 招聘 哈尔滨秒房互联网科技有限公司 博兴的互联网电子科技公司 互联网校园科技培训 互联网为啥属于高科技 互联网软件和科技 上海宁丞科技互联网 互联网科技产业特征 容联科技互联网电商 科技和互联网行业的特点 互联网科技品牌 现代互联网科技公司 平安好医生打造互联网科技医疗 互联网科技创业计划的风险分析 伍佰万互联网科技是干嘛的 科技企业和互联网企业 互联网科技开发公司 北京互联网科技有限公司 互联网金融科技平台 上海电发互联网科技有限公司 青岛中康互联网医疗科技有限公司 亳州好赞互联网科技有限公司 南通创西澳互联网科技有限公司 江苏互联网智能科技软件 广州三三互联网科技有限公司
0