Простое переписывание nginx для чистых URL - PullRequest
0 голосов
/ 08 декабря 2011

Я в основном использую стандартные настройки nginx и переписываю, используя следующий код:

rewrite ^/account/credit$ /account/credit.php$1 last;
rewrite ^/account/credit\/$ //account/credit.php$1 last;

В основном, эти две строки гарантируют, что следующие адреса будут распознаны:

www.example.com/account/credit
www.example.com/account/credit/

Есть ли способ поместить это в одно утверждение или сделать это более элегантно?

Я думаю о чем-то вроде

rewrite ^/account/credit(\/)?$ /account/credit.php$1 last;

Но это не работает, потому что смотрит нанеправильный уровень при добавлении / в конец адреса.Также // выглядит немного не элегантно.

Вот как выглядит локация:

location / {
  try_files $uri $uri/ /index.php;
}

1 Ответ

1 голос
/ 17 декабря 2011

Добавьте это к вашему conf:

location ^~ /account/credit {
    rewrite ^ /account/credit.php last;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...