Адаптация RewriteRule под nginx для движка SocialEngine

Друзья, помогите. Пытаюсь запустить SocialEngine напрямую под nginx/php-fpm, без Apache. На вид три простых RewriteRule, но сижу уже второй час безуспешно туплю.

Вот, что в оригинале:

RewriteCond %{REQUEST_URI} /index\.php
RewriteRule (.*) index.php?rewrite=2 [L,QSA]

RewriteCond %{REQUEST_URI} /$
RewriteRule (.*) index.php?rewrite=1 [L,QSA]

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


Как это будет в конфиге nginx?
Больше всего вопросов вызывает ранее не знакомый мне флаг QSA. Чувствую, подвох где-то в нем.
  • Вопрос задан
  • 3182 просмотра
Пригласить эксперта
Ответы на вопрос 2
tzlom
@tzlom
location /index.php {
rewrite ^(.*)$ /index.php?rewrite=2 last;
}
location / {
index = index.php?rewrite=1

if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?rewrite=1 last;
}
}
Ответ написан
@bondbig
рекомендую обратиться в офф. рассылку nginx. Там вам профессионально подскажут (и даже напишут) самый оптимальный вариант. Бывает и Игорь собственноручно. Зачастую от монстровых реврайтов с регэкспами остается всего парочка простых location'ов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы