Nginx

為什麼我的 nginx 別名不起作用?

  • November 19, 2017

我正在嘗試設置一個別名,因此當有人訪問時/phpmyadmin/,nginx 將從通常的文件根目錄中提取它,/home/phpmyadmin/而不是從通常的文件根目錄中提取它。但是,每次我拉出 URL 時,它都會在所有未通過 fastcgi 拉出的項目上給我一個 404。fastcgi 似乎工作正常,而其餘的則不然。strace告訴我它正試圖從通常的文件根目錄中提取所有其他內容,但我不知道為什麼。誰能提供一些見解?

這是我的配置的相關部分:

           location ~ ^/phpmyadmin/(.+\.php)$
           {
                   include fcgi.conf;
                   fastcgi_index index.php;
                   fastcgi_pass  unix:/tmp/php-cgi.sock;
                   fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name;
           }

           location /phpmyadmin
           {
                   alias /home/phpmyadmin/;
           }

想出了一個辦法。我不確定它是否是最好的,但它現在肯定在工作。

這是我所做的:

       location ~ ^/phpmyadmin/(.*)$
       {
               alias /home/phpmyadmin/$1;
       }

我不確定,但你有沒有試過這樣寫:

location /phpmyadmin/
       {
               alias /home/phpmyadmin/;
       }

另外,您嘗試訪問它的 URI 是什麼?

據我了解,您必須使用URI

/home/phpmyadmin/

而不僅僅是

/phpmyadmin/

你可以在這裡閱讀更多資訊:http ://wiki.nginx.org/HttpCoreModule

引用自:https://serverfault.com/questions/375602