Перепишите с Nginx и PHP fastcgi по-прежнему отправляет старый request_uri на бэкэнд (php и symfony)

Я пытаюсь перенести php-сайт, на котором работает фреймворк Symfony, на nginx и php поверх fastcgi.

Все работает хорошо, используя инструкции Symfony из http://wiki.nginx.org/ , но у меня возникли проблемы с настраиваемым правилом перезаписи.

Моя цель - переписать URL-адреса вида / aaaa на / view / shorthand / aaaa . Затем запрос должен быть обработан php и symfony.

Старое правило перезаписи apache:

RewriteRule ^([0-9a-f]+)$ index.php/view/shorthand/$1 [L]

Правила Nginx, которые я пробовал:

rewrite ^/([0-9a-f]+)$ /view/shorthand/$1 break;
rewrite ^/([0-9a-f]+)$ /index.php/view/shorthand/$1 break;

Все они отправляются в fastcgi, но request_uri все еще кажется / aaaa , поскольку я получаю эта ошибка:

FastCGI sent in stderr: "Action "aaaa/index" does not exist" while reading response header from upstream

Я также безуспешно пытался использовать try_files. Пожалуйста посоветуй.

5
задан blkmr 1 December 2011 в 09:40
поделиться