1 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
根據(jù) nginx ngx_http_fastcgi_module文檔,$fastcgi_script_name
內(nèi)部變量包含請(qǐng)求 URI,或者,如果 URI 以斜杠結(jié)尾,則請(qǐng)求 URI 帶有由附加到fastcgi_index
其上的指令配置的索引文件名。當(dāng)你使用
fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;
并收到/snipe-it/script.php
傳入請(qǐng)求,$uri
內(nèi)部變量等于?/snipe-it/script.php
,$document_root$fastcgi_script_name
內(nèi)部變量等于/var/www/html/public/
,連接$document_root$fastcgi_script_name
字符串變?yōu)?code>/var/www/html/public//snipe-it/script.php,這顯然會(huì)導(dǎo)致文件不存在。你能做的是
????location?~?^/snipe-it/(?<subpath>.*)$?{ ????????alias?/var/www/html/public/; ????????location?~*?\.php$?{ ????????????????????include?fastcgi_params; ????????????fastcgi_pass?unix:/run/php/php7.3-fpm.sock; ????????????fastcgi_index?index.php; ????????????fastcgi_param?SCRIPT_FILENAME?$document_root$subpath; ????????} ????}
root
請(qǐng)注意,當(dāng)您使用指令而不是 時(shí),不會(huì)出現(xiàn)此問(wèn)題alias
。/var/www/html/public
但是,除非您將目錄重命名為/var/www/html/snipe-it
(而不是可以使用) ,root /var/www/html;
否則這是不可能的。alias /var/www/html/public/;
- 1 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報(bào)