1

私のサーバーは現在php5.3で実行されており、eregへのこの呼び出しを置き換える必要があります。

if (ereg("/$", $pref) === FALSE) 
{
  $pref .= '/';
}

私はこれを試しましたが、とりわけ成功しませんでした。

if (preg_match('~/$~', $pref) === FALSE)

これにより、http://example.com/index.phpwww/browse になります。違いがある場合、これは私が継承したCodeIgniter1.6.1アプリです。

私はこれを試しました:

if (ereg("/$", $pref) === 0) 

@PeterMが提案し、http : //example.comにアクセスすると、 http ://example.com/index.php/www/browseに移動しますが、「送信したURIで文字が許可されていません。 「」それは有効なCodeIgniterURLですか?たぶん私はコードの他の場所で何かを台無しにしましたか?

codeigniter / application / config/config.phpの126行目を次のように変更しました。

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

それでもメッセージが表示されます。

4

2 に答える 2

3

0ではなく、と比較してくださいfalsepreg_match一致数を返します。エラー時にのみ返さfalseれます。

于 2013-02-11T19:31:35.947 に答える
2
if(substr($pref, -1) !== '/'){

}

また:

if($pref[strlen($pref)-1] !== '/' ){
 //not found
}
于 2013-02-11T19:33:54.223 に答える