Tôi hy vọng bạn có thể giúp tôi về vấn đề sau đây.
Tôi đang chạy NGINX và muốn chuyển tiếp tới .html (trang ảo) tới index.php?view=$args mà không thay đổi URL, được hiển thị trong Thanh địa chỉ trình duyệt (URI YÊU CẦU)
Tôi đã thử nhiều lần nhưng mỗi lần tôi truy cập: example.com/meldung.html NGINX lại thay đổi URL Trình duyệt thành: example.com/index.php?view=Meldung nhưng đó không phải là điều tôi muốn.
example.com/meldung.html phải được định tuyến nội bộ tới index.php?view=$1 nhưng không nằm ngoài những gì người dùng nhìn thấy.
nghe 80;
gốc /var/www/example.com;
chỉ mục index.html index.htm index.php;
server_name example.com www.example.com
chỉ mục index.html index.htm index.php;
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com.io_error.log;
đặt $skip_cache 0;
# POST các yêu cầu và URL có chuỗi truy vấn phải luôn chuyển đến PHP
nếu ($request_method = POST) {
đặt $skip_cache 1;
}
nếu ($query_string != "") {
đặt $skip_cache 1;
}
địa điểm / {
try_files $uri $uri/ =404;
làm hài lòng tất cả;
nếu (!-f $request_filename) {
viết lại ^(.*)\.html$ /index.php?view=$1 cuối cùng;
}
}
vị trí ~ \.php$ {
bao gồm đoạn trích/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
}
Trên Apache, nó đã hoạt động bình thường:
RewriteRule ^(.*).html$ index.php?view=$1 [L,NC]
nhưng không phải trên NGINX