原因はよくわかっていないのですが、CodeIgniterを利用していると、環境によって「No input file specified.」というエラーが発生します。
この解決方法の一例を紹介します。
目次
発生する条件
URLからindex.phpを取り除く設定をする場合に発生するときがあります。
が、まだ詳しく調べていないので詳細な条件まではわかっていません。
私の場合、.htaccessにindex.phpを取り除く設定を追加し、ローカルのDocker環境では特に問題なく動作したのですが、さくらインターネットの共用サーバーで動作確認しようとしたら「No input file specified.」エラーが発生しました。
解決方法
ローカル環境と全く同じなので良くわからなかったのですが、結局
RewriteRule ^(shop_register)(.*)$ index.php/$1 [L]
のindex.php/$1を以下のようにindex.php?/$と?を追加したら動作するようになりました。
RewriteRule ^(shop_register)(.*)$ index.php?/$1 [L]
なんかおまじないのようですが、これですべてが解決しました。
現象がわからないので時間があるときに調査したいと思います。