Nginx
為什麼我的 nginx 別名不起作用?
我正在嘗試設置一個別名,因此當有人訪問時
/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