Nginx try_files URL with query parameter to a PHP file?

URL INPUT: https://domain.com/t/topic-title/14842?amp=true

OUTPUT Try files: /htd/index.php with 14842 uri

Đã thử như dưới nhưng nó sai.

location ~\?amp=true {
    try_files $uri $uri/ /htd/index.php?uri=$uri;
}

Đã giải quyết.

Câu hỏi của cậu tương đối khó hiểu. Có vẻ như cậu muốn forward request từ URL kia tới file index.php và parameter 14842, nhưng tớ không chắc đó là ý định của cậu.

Anyway, cậu có thể để lại solution của cậu được không? Như tớ thấy bên SO cũng không có câu trả lời cho cậu.

6 Likes

Cảm ơn @library
Mình có đính kèm lại đoạn mình thử và đã chạy theo đúng nhu cầu của mình:
Vấn đề là mình triển khai AMP ngay trên sever chạy Discourse nó là mã nguồn mà daynhauhoc đang dùng.

server {
    
    location / {

        # will send to ? amp = 1
        if ($arg_amp) { rewrite ^ /amp/index.php ? q = $uri last; }

        location~\.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_pass unix: /run/php / php7 .4 - fpm.sock;
        }

    }

}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?