内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Nginx中ThinkPHP5如何配置-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“Nginx中ThinkPHP5如何配置”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“Nginx中ThinkPHP5如何配置”這篇文章吧。

創(chuàng)新互聯(lián)建站服務(wù)項目包括沙河網(wǎng)站建設(shè)、沙河網(wǎng)站制作、沙河網(wǎng)頁制作以及沙河網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,沙河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到沙河省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

url里public目錄的隱藏

出于安全的考慮,TP5的入口文件改成放在public下了,因為這樣的話能防止被惡意用戶訪問到“/thinkphp/”、“/vendor/”等等這些目錄下的文件。所以當你以之前的習慣將網(wǎng)站documentroot配置為項目根目錄的時候就會需要在url后面加上/public/來訪問。當然可能也會有童鞋把入口文件放回到根目錄下,然后還是以之前3.x版那樣的形式訪問了。

但是很顯然,這么做并不是那么的科學。

假設(shè)項目目錄為“/web/wwwroot/augsky.com”,那么我們在網(wǎng)站的nginx配置文件里面將root配置為:

root /web/wwwroot/augsky.com/public;

但是一定要記得將open_basedir設(shè)置為上一級項目的根目錄下,不然應(yīng)用會沒有權(quán)限調(diào)用除public目錄下的其他文件,網(wǎng)站會報500無法訪問。(open_basedir的配置默認在php.ini里面,但如果是多個虛擬機環(huán)境的話有可能會在各個網(wǎng)站的user.ini文件里,這個要根據(jù)自己的實際情況來。)具體配置如下:

open_basedir=/web/wwwroot/augsky.com:/tmp/:/proc/

隱藏入口文件index.php:

location /
  {
    try_files $uri $uri/ /index.php?s=$uri&$args;
    #如果請求不是文件或目錄,則將uri交給index.php處理,同時保留參數(shù)
  }

說一下try_files:

try_files
語法: try_files file1 [file2 ... filen] uri
     OR
  try_files file1 [file2 ... filen] =code
默認值: 無
作用域: server location

try_files支持多個參數(shù),每個參數(shù)代表一個文件,系統(tǒng)將按順序檢查這些文件是否存在,存在就直接執(zhí)行,斜線“/”結(jié)尾代表目錄,若都不存在,則會重定向到最后一個參數(shù)指向的文件或者返回指定的http狀態(tài)碼。

pathinfo配置

在配置文件里面增加這一段(如果你是lnmp一鍵包用戶,請略過這一段往下翻):

location ~ [^/]\.php(/|$) {
  set $path_info "";
  #定義變量 $real_script_name,用于存放真實地址
  set $real_script_name $fastcgi_script_name;
  #如果地址與引號內(nèi)的正則表達式匹配
  if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
  #將文件地址賦值給變量 $real_script_name
  set $real_script_name $1;
  #將文件地址后的參數(shù)賦值給變量 $path_info
  set $path_info $2;
  }
  #配置fastcgi的一些參數(shù)
  fastcgi_pass unix:/tmp/php-cgi.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
  fastcgi_param SCRIPT_NAME $real_script_name;
  fastcgi_param PATH_INFO $path_info;
  include  fastcgi_params;
}

上面需要說明的是fastcgi_pass的設(shè)置,這個得根據(jù)你實際的php版本和安裝目錄來設(shè)定。

好,做完這些之后,保存,重啟nginx和php就能生效了。如果你是lnmp一鍵包用戶的話不用上面這樣設(shè)置,往下面看:

lnmp一鍵包pathinfo的設(shè)置

其實lnmp一鍵包里面的pathinfo軍哥已經(jīng)都寫好了,我們只需要把include enable-php.conf;修改成include enable-php-pathinfo.conf;然后重啟lnmp就搞定了。

#include enable-php.conf;或者,你直接注釋掉這一行,在下面添加新的一行
include enable-php-pathinfo.conf;

就是這樣簡單。下面順便附上在url里隱藏模塊的方法

url隱藏默認模塊index

很簡單,在入口文件里面定義常量BIND_MODULE為你使用的模塊就好了,以默認的index為例:

define('BIND_MODULE', 'index');

這樣,在url里面不會在有模塊名這一級目錄了。要知道,層級少一些的url對SEO是有好處的。

下面是nginx里面location的匹配規(guī)則

Nginx location的匹配規(guī)則

  • ~ 波浪線表示執(zhí)行一個正則匹配,區(qū)分大小寫

  • ~* 表示執(zhí)行一個正則匹配,不區(qū)分大小寫

  • ^~ ^~表示普通字符匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄

  • = 進行普通字符精確匹配

  • @ #"@" 定義一個命名的 location,使用在內(nèi)部定向時,例如 error_page, try_files

location 匹配優(yōu)先級

  • = 精確匹配會第一個被處理。如果發(fā)現(xiàn)精確匹配,nginx停止搜索其他匹配。

  • 普通字符匹配,正則表達式規(guī)則和長的塊規(guī)則將被優(yōu)先和查詢匹配,也就是說如果該項匹配還需去看有沒有正則表達式匹配和更長的匹配。

  • ^~ 則只匹配該規(guī)則,nginx停止搜索其他匹配,否則nginx會繼續(xù)處理其他location指令。

  • 最后匹配理帶有"~"和"~*"的指令,如果找到相應(yīng)的匹配,則nginx停止搜索其他匹配;當沒有正則表達式或者沒有正則表達式被匹配的情況下,那么匹配程度高的逐字匹配指令會被使用。

以上是“Nginx中ThinkPHP5如何配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞名稱:Nginx中ThinkPHP5如何配置-創(chuàng)新互聯(lián)
URL地址:http://www.rwnh.cn/article6/ceigog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站導航網(wǎng)站策劃、ChatGPT、面包屑導航、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
出国| 武义县| 新津县| 开阳县| 南宫市| 清流县| 桐梓县| 乐山市| 泽普县| 田林县| 镇安县| 白沙| 奉化市| 故城县| 黄山市| 桃园市| 陆丰市| 庆城县| 永福县| 措勤县| 灌南县| 馆陶县| 土默特右旗| 资中县| 绥德县| 开封县| 孟州市| 思茅市| 沅陵县| 绥德县| 三门峡市| 榆社县| 东乡族自治县| 垣曲县| 九寨沟县| 天水市| 海晏县| 桐庐县| 古田县| 西宁市| 苏尼特右旗|