В nginx попадает URL типа /index.php/page1 и обычное его поведение — обработать index.php, а всё, что дальше — отправить в PATH_INFO. Но когда URL реврайтится, чем-то простым вроде
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php$1 break;
}
}
upd:
Всё, нашёл решение.
http://www.ruby-forum.com/topic/901362
upd:
Хм, показалось, что нашёл. Сейчас / и /index.php/page1 работают нормально, а /page1 спотыкается о каталог. Конфигурация вот такая:
location / {
allow all;
if (!-f $request_filename){
rewrite ^([^/]*)(/.+)$ /index.php$2 break;
}
}
location ~ ^.+\.php {
fastcgi_pass unix:/var/run/php-fpm/default.socket;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}