一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - Nginx泛解析到子目錄后自動判斷有無public目錄詳解

Nginx泛解析到子目錄后自動判斷有無public目錄詳解

2019-12-07 16:41小李刀刀 Nginx

這篇文章主要給大家介紹了關于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):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
server {
 listen 80;
 server_name ~^(?<subdomain>.+).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 即可。

我雖然只是用于 mac/linux, 但實際上 Windows 下當然也是可以的,如果你在 Windows 下也使用 Nginx 的話。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://ofcss.com/2017/08/28/nginx-wildcard-to-subdir-auto-detect-laravel.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 粉嫩尤物在线456 | 成人欧美一区在线视频在线观看 | 无遮挡h肉动漫在线观看电车 | 校花在公车上被内射好舒 | 99视频全部看免费观 | 免费黄色片在线观看 | 天天做天天爱天天爽综合网 | 龟甲情感超市全文阅读 小说 | 日韩精品国产自在欧美 | 久久视频这里只精品99热在线观看 | 狠狠的撞击发泄h | 国产精品露脸国语对白河北 | 亚洲av欧美在我 | 小早川怜子视频在线观看 | 天堂8在线天堂资源在线 | 99精品视频在线观看免费 | 国产精品色片 | 欧美在线成人免费国产 | 粉嫩高中生第一次不戴套 | 日韩人成免费网站大片 | 暖暖视频高清图片免费完整版 | 女人用粗大自熨喷水在线视频 | 亚洲乱码尤物193yw在线播放 | 不卡一区二区三区卡 | 成年人福利 | 国产好痛疼轻点好爽的视频 | 无码AV熟妇素人内射V在线 | 欧美巨胸| 国产成人高清精品免费5388密 | 午夜私人影院在线观看 视频 | free极度另类性欧美 | 国产福利不卡视频在免费 | 91制片厂果冻传媒首页 | 国产免费一区不卡在线 | 841995论坛网站2022年 | 日本黄a三级三级三级 | 久久精品观看 | 欧美一级专区免费大片 | www视频免费看 | 香蕉91| 办公室里被迫高h |