関連するすべての質問を検索しましたが、私の場合の解決策は見つかりませんでした。
次のような URL を持つスクリプトがあります。
htt://www.example.com/index.php/dosomthing/parametrs
今私はこれを使用しました:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
次に、デフォルトのコントローラーで、ユーザーがログインしているかどうかを確認し、ログインしていない場合は、このクラス関数を使用してログインコントローラーにリダイレクトします。
function redirect($uri = '', $method = 'location', $http_response_code = 302)
{
$uri = $this->config['home_url'] . ltrim($uri, '/');
switch($method)
{
case 'refresh' : header("Refresh:0;url=".$uri);
break;
default : header("Location: ".$uri, TRUE, $http_response_code);
break;
}
$this->dija = null;
exit;
}
localhost では動作しますが、ホスティングでは動作せず、リダイレクト ループが発生します。どうすればよいかわからず、本当にイライラしています。