現象
EC-CUBE3をnginxの管理下に展開してインストーラ(install.php)を呼び出すと、リダイレクトを繰り返したとかでブラウザエラーになって先に進まない。
原因
インストーラのURLが「/install.php/step1」とかいうキモいURLになってるためで、nginxの該当ドメインのconfで
location / {
try_files $uri $uri/ /index.php?$query_string;
}
などと、PHP製webアプリにありがちなrewrite処理を書いてると、インストーラの呼び出しがindex.phpに飛ばされて動かない。
対策
とりあえずtry_filesの前にこう書いて回避。終わったら消す。
location / {
rewrite ^/install.php/(.*)$ /install.php?$1 last;
try_files $uri $uri/ /index.php?$query_string;
}