Я пытаюсь перенести 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. Пожалуйста посоветуй.