Pull to refresh

Правильное перенаправление запросов в Nginx

Reading time1 min
Views8K
Игорь Сысоев в рассылке nginx-ru пишет:

На днях интересовался, как делается перенаправление запросов в Drupal и прочие.

Так вот, апачевскую конструкцию вида

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

нужно переделывать не в

location / {
if (!$request_file) {
rewrite ^(.*) /index.php?q=$1 last;
}
}

location = /index.php {
fastcgi…
}

и даже не в

location / {
error_page 404 = /index.php?q=$request_uri;
}

location = /index.php {
fastcgi…
}

а вот в такое:

location / {
error_page 404 = drupal;
}

location = drupal {
fastcgi_param SCRIPT_FILENAME /path/to/index.php;
fastcgi_param QUERY_STRING q=$request_uri;
fastcgi…
}

Tags:
Hubs:
Total votes 18: ↑17 and ↓1+16
Comments4

Articles