欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年08月29日 10:23:10   作者:小李刀刀  
這篇文章主要給大家介紹了關(guān)于Nginx泛解析到子目錄后自動判斷有無public目錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。

前言

我們大家在配置本地 PHP 開發(fā)環(huán)境時,除非是在 Windows 下,否則我都是偏向于 Nginx + PHP-FPM, 即使 Mac 下已經(jīng)有了自帶的 Apache+PHP 環(huán)境,依然如此。一方面是因?yàn)?Mac 自帶的 PHP 版本不夠新(5.6.x),另一方面,Nginx + PHP-FPM 更接近于我的生產(chǎn)服務(wù)器環(huán)境,而且也方便用 Homebrew 來管理版本和擴(kuò)展。

在 Mac 下開發(fā) Laravel, 官方提供了 valet, 可以方便地把子目錄映射為虛擬主機(jī),但我在使用的時候,遇到一些問題:

  • 真實(shí)錯誤信息難以追蹤,總是報 valet 的 index.php 或者 laravel 的 index.php 錯誤;
  • Symfony 框架里的 config.php/app_debug.php 等無法直接訪問。

于是我只保留了 dnsmasq 來管理特定后綴的域名(實(shí)現(xiàn)自動解析),然后放棄了 valet,自己做了一個泛解析綁定到本地子目錄的配置。

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

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;
  • 網(wǎng)站根目錄下真實(shí)存在的 php 文件可以直接訪問,只有不存在的文件才會通過入口文件(index.php)處理;
  • 如果需要支持其它框架,可以在配置文件中加一條 if 語句實(shí)現(xiàn),比如要支持 symfony 的話,復(fù)制一下 if 判斷塊,把 public 改成 web 即可。

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Nginx服務(wù)器限制訪問速度的配置方法

    Nginx服務(wù)器限制訪問速度的配置方法

    這篇文章主要介紹了Nginx服務(wù)器限制訪問速度的配置方法,尤其是當(dāng)服務(wù)器中存在ftp下載等服務(wù)時尤為有用,需要的朋友可以參考下
    2015-07-07
  • 18個運(yùn)維必知的Nginx代理緩存配置技巧(你都掌握了哪些呢)

    18個運(yùn)維必知的Nginx代理緩存配置技巧(你都掌握了哪些呢)

    這篇文章主要介紹了18個運(yùn)維必知的Nginx代理緩存配置技巧(你都掌握了哪些呢),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Windows下Nginx的啟動停止等基本操作命令詳解

    Windows下Nginx的啟動停止等基本操作命令詳解

    在Windows下使用Nginx,我們需要掌握一些基本的操作命令,今天為大家分享幾個Windows下操作Nginx的基本命令
    2018-10-10
  • 如何在centos服務(wù)器上部署nginx容器

    如何在centos服務(wù)器上部署nginx容器

    這篇文章主要介紹了如何在centos服務(wù)器上部署nginx容器,首先下載nginx鏡像,接下來導(dǎo)入鏡像,查看導(dǎo)入的鏡像,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Nginx出現(xiàn)404 Not Found nginx/1.23.4的完美解決方案

    Nginx出現(xiàn)404 Not Found nginx/1.23.4的完美解決方案

    在Nginx配置過程中,404 Not Found錯誤是一個常見問題,本文將詳細(xì)解析Nginx 404 Not Found的原因及解決方案,確保您能夠輕松解決這一問題,需要的小伙伴跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • nginx出現(xiàn)500 Internal Server Error錯誤的解決方法

    nginx出現(xiàn)500 Internal Server Error錯誤的解決方法

    這篇文章主要介紹了nginx出現(xiàn)500 Internal Server Error錯誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • Nginx配置React項(xiàng)目Url后直接輸入路由路徑時報404問題的解決

    Nginx配置React項(xiàng)目Url后直接輸入路由路徑時報404問題的解決

    這篇文章主要給大家介紹了關(guān)于Nginx配置React項(xiàng)目Url后面直接輸入路由路徑時報404問題的解決方法,文中通過示例代碼將解決的方法介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Nginx服務(wù)器限制IP訪問的各種情況全解析

    Nginx服務(wù)器限制IP訪問的各種情況全解析

    這篇文章主要介紹了Nginx服務(wù)器限制IP訪問的各種情況全解析,包括限制同一IP在一段時間內(nèi)的訪問次數(shù)和全局限IP訪問以及限制IP訪問指定目錄等情況,需要的朋友可以參考下
    2015-08-08
  • Nginx之帶寬限制的實(shí)現(xiàn)示例

    Nginx之帶寬限制的實(shí)現(xiàn)示例

    本文主要介紹了Nginx之帶寬限制的實(shí)現(xiàn)示例,一般使用limit_rate指令來限制響應(yīng)傳輸?shù)娇蛻舳说乃俾?具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • nginx下支持PATH_INFO的方法實(shí)例詳解

    nginx下支持PATH_INFO的方法實(shí)例詳解

    這篇文章主要介紹了nginx下支持PATH_INFO的方法,結(jié)合實(shí)例形式詳細(xì)分析了nginx下使用PATH_INFO模式的具體方法與相關(guān)使用技巧,需要的朋友可以參考下
    2016-02-02

最新評論