Sper că mă puteți ajuta în următoarea chestiune.
Am NGINX care rulează și vreau să redirecționez către .html (pagini virtuale) la index.php?view=$args fără a schimba adresa URL, care este afișată în bara de adrese a browserului (URI DE SOLICITARE)
L-am încercat de mai multe ori acum, dar de fiecare dată când merg la: example.com/meldung.html NGINX schimbă URL-ul browserului în: example.com/index.php?view=Meldung, dar nu asta vreau.
example.com/meldung.html ar trebui să fie direcționat intern către index.php?view=$1, dar nu în afara ceea ce vede utilizatorul.
asculta 80;
rădăcină /var/www/example.com;
index index.html index.htm index.php;
server_name example.com www.example.com
index 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;
setați $skip_cache 0;
# Solicitările POST și adresele URL cu un șir de interogare ar trebui să meargă întotdeauna în PHP
dacă ($request_method = POST) {
setați $skip_cache 1;
}
if ($query_string != "") {
setați $skip_cache 1;
}
Locație / {
try_files $uri $uri/ =404;
satisface pe toate;
dacă (!-f $nume_fișier_cerere) {
rescrie ^(.*)\.html$ /index.php?view=$1 ultimul;
}
}
locație ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
}
Pe Apache a funcționat corect:
RewriteRule ^(html$ index.php?view=$1 [L,NC]
dar nu pe NGINX