真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何實(shí)現(xiàn)Nginx泛解析到子目錄后自動(dòng)判斷有無public目錄

這篇文章主要介紹如何實(shí)現(xiàn)Nginx泛解析到子目錄后自動(dòng)判斷有無public目錄,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

為靜海等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及靜海網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、靜海網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

前言

我們大家在配置本地 PHP 開發(fā)環(huán)境時(shí),除非是在 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í)候,遇到一些問題:

  • 真實(shí)錯(cuò)誤信息難以追蹤,總是報(bào) valet 的 index.php 或者 laravel 的 index.php 錯(cuò)誤;

  • Symfony 框架里的 config.php/app_debug.php 等無法直接訪問。

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

具體配置如下(域名是 *.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;
 }
}

采用這個(gè)配置以后:

  • 如果存在 ~/Sites/domain/public, 則 domain.app 域名的根目錄會(huì)指向 ~/Sites/domain/public;

  • 如果存在 ~/Sites/domain 但是不存在 ~/Sites/domain/public, 則 domain.app 域名的根目錄會(huì)指向 ~/Sites/domain;

  • 網(wǎng)站根目錄下真實(shí)存在的 php 文件可以直接訪問,只有不存在的文件才會(huì)通過入口文件(index.php)處理;

  • 如果需要支持其它框架,可以在配置文件中加一條 if 語句實(shí)現(xiàn),比如要支持 symfony 的話,復(fù)制一下 if 判斷塊,把 public 改成 web 即可。

以上是“如何實(shí)現(xiàn)Nginx泛解析到子目錄后自動(dòng)判斷有無public目錄”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章名稱:如何實(shí)現(xiàn)Nginx泛解析到子目錄后自動(dòng)判斷有無public目錄
當(dāng)前URL:http://weahome.cn/article/ijhjsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部