Tôi có một ghi lại trong tập tin ngix conf của tôi hoạt động đúng, ngoại trừ nó dường như bao gồm khối vị trí như là một phần của biến $ uri. Tôi chỉ muốn đường dẫn sau khối vị trí. Mã cấu hình hiện tại của tôi là:
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
Sử dụng một url ví dụ của http://localhost/cargo/testpage
chuyển hướng hoạt động, tuy nhiên giá trị của tham số "_REWRITE_COMMAND" mà tệp php của tôi nhận được là "/ Freight / testpage". Tôi cần phải loại bỏ khối vị trí và chỉ cần có "trang thử nghiệm" là $ uri
Tôi khá chắc chắn rằng có một cú pháp regex để phân chia $ uri và gán nó cho một biến mới bằng cách sử dụng $ 1 $ 2, v.v., nhưng tôi không thể tìm thấy bất kỳ ví dụ nào để thực hiện một phép gán biến bằng cách sử dụng regex không phải là một phần của việc viết lại tuyên bố. Tôi đã tìm kiếm và cố gắng trong nhiều giờ và dường như tôi không thể vượt qua bước cuối cùng này.
Tôi cũng biết rằng tôi chỉ có thể loại bỏ mã này trên mã ứng dụng, nhưng lý do tôi muốn thử sửa nó trong nginx conf là vì lý do tương thích vì nó cũng chạy trên Apache. Tôi cũng nên nói rằng tôi đã tìm ra một cách thực sự khó khăn để làm điều đó, nhưng nó liên quan đến một câu lệnh "nếu" để kiểm tra sự tồn tại của tệp và tài liệu nói cụ thể là không làm theo cách đó.