私はこのリマップを持っています:
public function _remap($method, $params = array()) {
if (method_exists($this, $method)) {
if ($this -> uri -> segment(1)) {
$this -> index($this -> uri -> segment(1));
} else {
$this -> index();
}
} else {
return call_user_func_array(array($this, $method), $params);
}
}
私のローカルマシンでは正常に動作しますが、テストプロダクションでは、クエリ文字列として何を入力しても、index()にリダイレクトされるだけです。誰かが私がこれをデバッグするのを手伝ってくれませんか?
ルート.phpは両方のサーバーで同じです。
インデックス関数を変更して、要求されたURIのみを次のように出力しようとすると:
function index($id = null)
{
$this->output->set_output('id: ' . $id);
return;
「id:」のみが出力されます。したがって、$ idは移行のどこかで失われますが、理由はわかりません。
私のソリューション
はsystem/cms/config/config.php
持ってい$config['uri_protocol'] ) 'PATH_INFO'
ましたが、本番サーバーではこれが機能しなかったので、に変更し'AUTO'
ました。そしてそれは機能しました。