国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

好大一個坑:在Nginx上將PHP網(wǎng)頁放在二級目錄

這篇具有很好參考價值的文章主要介紹了好大一個坑:在Nginx上將PHP網(wǎng)頁放在二級目錄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、原由

只有一個域名,以前用php編寫的網(wǎng)頁又不能放棄,考慮將其移至二級目錄下,例如:

https://abc.com/html

2、運行環(huán)境

Linux服務器上,用docker容器。Nginx和php-fpm各自運行在不同的容器中,Nginx在前端負責接收http請求,將其分發(fā)到后面不同的服務容器中。收到PHP網(wǎng)頁請求就交給php-fpm解析,php-fpm的端口是9000。

3、Nginx配置

3.1 如果使用根目錄

如果php網(wǎng)頁在根目錄下就比較簡單,用下面配置即可:

server {
    listen  80;
    server_name abc.com;
    root   /usr/share/nginx/html;
    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;

        location ~ \.php(.*)$ {
                root   /var/www/html/phpmy;
                fastcgi_pass 172.17.0.1:9000;   #php容器的IP地址
                fastcgi_index index.php;
                fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
                include  fastcgi_params;
        }
    }
}

3.2 將php網(wǎng)頁放在二級目錄

將3.1的方法直接移植過來是行不通的,先放結果,正確的配置文件如下:

    location /html {
        alias  /var/www/html/; #PHP文件在php-fpm容器中的目錄
        index index.php index.htm index.html;
        try_files $uri $uri/ /html/index.php?$query_string;
 
        if (!-e $request_filename) {
            rewrite ^/html/(.*)$ /html/index.php?$1 last;
            break;
        }
        
         location ~ \.php(.*)$ {
            fastcgi_pass 172.17.0.1:9000;   # PHP容器的IP地址
            fastcgi_index index.php;
            fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include  fastcgi_params;        
        }

        location ~* \.(htm|html|jpg|jpeg|png|gif|ico|js|css|map)$ {
            root  /usr/share/nginx/;   # 靜態(tài)文件目錄比真實目錄少一級,訪問時會自動加上url的子目錄
        }    
    
    }

與在根目錄下的情況不同,傳給 location /html的目錄是PHP文件在php-fpm容器中的目錄。php-fpm接收的SCRIPT_FILENAME是 $request_filename

  • 下面一段是解決頁面跳轉后不能正確定位問題:
        if (!-e $request_filename) {
            rewrite ^/html/(.*)$ /html/index.php?$1 last;
            break;
        }
  • 這個location是解決非php文件不能訪問的問題:
location ~* \.(htm|html|jpg|jpeg|png|gif|ico|js|css|map)$ {
           root  /usr/share/nginx/;   # 靜態(tài)文件目錄比真實目錄少一級,訪問時會自動加上url的子目錄
       }    

目前這個配置文件還是有一些問題,比如直接訪問目錄時不能直接跳到index.php文件,訪問時必須這樣:文章來源地址http://www.zghlxwxcb.cn/news/detail-615095.html

https://abc.com/html/index.php

到了這里,關于好大一個坑:在Nginx上將PHP網(wǎng)頁放在二級目錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 使用Nginx反向代理,將React項目打包后部署到服務器的二級子目錄

    使用Nginx反向代理,將React項目打包后部署到服務器的二級子目錄

    我們上線一個項目的時候如果服務器上只有這一個項目的話可以直接將打包后的代碼部署到服務器指定的根目錄,然后直接上線看就可以看到,不用配置其他項。 但是,如果服務器有多個項目的話,我們就需要將代碼部署到服務器根目錄里邊的子目錄了,而放到子目錄的話,

    2024年03月26日
    瀏覽(28)
  • PHP - Laravel 創(chuàng)建項目到服務器(nginx、apache)運行(附帶目錄結構

    PHP - Laravel 創(chuàng)建項目到服務器(nginx、apache)運行(附帶目錄結構

    // 對應 composer.json 中的 require,一般用這個 $ composer require barryvdh/laravel-ide-helper // 如果只想在開發(fā)環(huán)境安裝請加上 --dev,對應 composer.json 中的 require-dev $ composer require barryvdh/laravel-ide-helper --dev 如果報錯 Installation failed, reverting ./composer.json and ./composer.lock to their original content 點這

    2024年04月27日
    瀏覽(43)
  • HTML、PHP實戰(zhàn):搭建一個網(wǎng)頁登錄頁面。

    HTML、PHP實戰(zhàn):搭建一個網(wǎng)頁登錄頁面。

    一、實驗環(huán)境。 MySQL5.7.26 FTP0.9.60 Apache2.4.39 我這里用的是PHPstudy小皮一鍵搭建的。 數(shù)據(jù)庫 ?二、登錄頁面。 登錄頁面前端代碼 文件名:denglu.html 登錄頁面后端代碼 文件名:denglu.php 使用127.0.0.1跟文件名訪問網(wǎng)頁。 效果演示 ? 可以看到當我們輸入用戶名:zhangsan 密碼:12345

    2024年02月06日
    瀏覽(17)
  • 小程序https域名校驗文件放在根目錄

    小程序https域名校驗文件放在根目錄

    微信公眾號平臺 - 開發(fā)管理 - 開發(fā)設置 - 業(yè)務域名 我這里配置的https主要是用來轉發(fā)后臺接口路徑的 https://域名/校驗文件名.txt,有返回即配置成功

    2024年02月11日
    瀏覽(51)
  • 手動下載composer項目放在vendor目錄下并加載

    手動下載composer項目放在vendor目錄下并加載

    比如添加easywechat。 說是手動,其實半手動。 到 GitHub 或gitee下載 1、下載后放在項目根目錄下的 vendor文件夾 2、在項目根目錄的文件 composer.json文件 添加一段 3、命令生成新的?Composer?自動加載器 4、執(zhí)行完成后 ,就添加了自動加載代碼。 以下圖可以不用看,僅僅是執(zhí)行前后

    2024年02月16日
    瀏覽(13)
  • FastAPI + NGINX + Gunicorn:一步一步教你部署一個高性能的Python網(wǎng)頁應用

    FastAPI + NGINX + Gunicorn:一步一步教你部署一個高性能的Python網(wǎng)頁應用

    部署一個 FastAPI 應用到你的服務器是一項復雜的任務。如果你對 NGINX 、 Gunicorn 和 Uvicorn 這些技術不熟悉,可能會浪費大量的時間。如果你是剛接觸 Python 語言不久或者希望利用 Python 構建自己的Web應用程序,本文的內(nèi)容可能會讓你第一次部署時更節(jié)省時間。 FastAPI 是用于開發(fā)

    2024年02月05日
    瀏覽(24)
  • Python之selenium關于Chrome驅動位置,閃退的問題和安裝路徑_chromedriver放在哪個目錄下

    Python之selenium關于Chrome驅動位置,閃退的問題和安裝路徑_chromedriver放在哪個目錄下

    放置的位置和Python執(zhí)行的文件位置要一樣,這樣才能夠使用最新的驅動。 注意:在selenium v4.4.0以上的版本,可以不用把瀏覽器的驅動放在跟Python執(zhí)行程序一起。 但是需要用一段代碼去說明,調(diào)用函數(shù)。 2、瀏覽器的驅動與Python啟動程序不在一個目錄: 方法一:(注意這種目

    2024年04月25日
    瀏覽(39)
  • WordPress做權重站:二級目錄偽靜態(tài)寫法

    我喜歡用WordPress建站,但是每個網(wǎng)站我都會寫3個以上的二級目錄,為什么了,因為WordPress數(shù)據(jù)量過大會導致數(shù)據(jù)庫很大很卡,所以這種做法可以減輕數(shù)據(jù)庫的負荷。我一般每個目錄的文章達到15萬篇就不會再更新了,3個目錄加起來大約50萬篇左右;二級目錄的做法可以遞增網(wǎng)

    2024年02月14日
    瀏覽(21)
  • vue3 vite 打包 二級目錄刷新空白

    控制臺報錯:Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of \\\"text/html\\\". Strict MIME type checking is enforced for module scripts per HTML spec. 打包路徑問題,修改vite.config.ts文件的base

    2024年02月09日
    瀏覽(27)
  • 【嘗試】域名驗證:配置github二級目錄下的txt文件

    【嘗試】域名驗證:配置github二級目錄下的txt文件

    ??你好呀!我是 是Yu欸 ?? 2024每日百字篆刻時光,感謝你的陪伴與支持 ~ ?? 歡迎一起踏上探險之旅,挖掘無限可能,共同成長! 前些天發(fā)現(xiàn)了一個人工智能學習網(wǎng)站,內(nèi)容深入淺出、易于理解。如果對人工智能感興趣,不妨點擊查看。 嘗試配置github倉庫搭建的hexo博客的域

    2024年04月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包