server {
listen 80;
server_name pwta;
root html;
location /test/{
alias html/test/;
autoindex on;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Cấu hình này hoạt động. Tuy nhiên, nếu location /test/
được thay thế, ví dụ: location /testpath/
nó không hoạt động (Không có tệp đầu vào nào được chỉ định). Tôi giả định dựa trên lời giải thích của chỉ thị bí danh rằng phần "vị trí" bị giảm và do đó /testpath/info.php
sẽ dẫn đến html/test/info.php
.bí danh nginx + chỉ thị vị trí
Cảm ơn mọi đề xuất.
Tôi hoàn toàn không hiểu tại sao lại hoạt động, nhưng nó thực sự giải quyết được vấn đề. Bất cứ ai có thể thêm giải thích thêm về những gì đang xảy ra với khối vị trí ở giữa đó? – Brad
Việc thêm 'bí danh' sẽ ghi đè lên' $ document_root' thành bất kỳ bí danh nào. Lưu ý rằng nó sẽ không ảnh hưởng đến '$ fastcgi_script_name' hoặc' $ request_filename'. Sử dụng '$ document_root' mới cùng với regex khớp với tên tệp, giải quyết tệp kịch bản. – Gajus
Lưu ý khối vị trí cuối cùng không làm bất cứ điều gì khi yêu cầu nằm trong '/ testpath /'. – Gajus