ホームページ > バックエンド開発 > PHPチュートリアル > mod_rewrite を使用しているにもかかわらず、CodeIgniter の URL が「index.php」を削除しないのはなぜですか?

mod_rewrite を使用しているにもかかわらず、CodeIgniter の URL が「index.php」を削除しないのはなぜですか?

Patricia Arquette
リリース: 2024-12-26 01:18:09
オリジナル
684 人が閲覧しました

Why Aren't My CodeIgniter URLs Removing

CodeIgniter URL からindex.php を削除

あなたの目標は、CodeIgniter URL から「index.php」を削除することですが、mod_rewrite を有効にしているにもかかわらず、$config['index_page']を''に設定し、提供された.htaccessコードを実装すると、問題が発生します持続します。考えられる原因を調査してみましょう。

まず、Apache2 サーバー構成で mod_rewrite が有効になっていること、および config.php の $config['index_page'] 変数が空であることを確認してください:

$config['index_page'] = "";
ログイン後にコピー

次に、ルート .htaccess ファイルに次のコードが含まれていることを確認します。

RewriteEngine on
RewriteCond  !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]
ログイン後にコピー

次の点に注意してください。 .htaccess コードはホスティング サーバーによって異なる場合があります。場合によっては、追加の「?」最後の行の最後に必要な場合があります:

RewriteRule ^(.*)$ index.php?/ [L,QSA]
ログイン後にコピー

前の手順で問題を解決できない場合は、次の手順を試してください:

  1. REQUEST_URI プロトコルを有効にする: $config['uri_protocol'] = "AUTO" を $config['uri_protocol'] = に置き換えますconfig.php.
  2. の「REQUEST_URI」 開発中に RewriteEngine を無効にする: Apache2 の RewriteEngine は CodeIgniter の開発環境に干渉する可能性があります。開発中に .htaccess ファイルの RewriteEngine 行をコメント アウトして一時的に無効にします。
  3. .htaccess 権限を確認します: .htaccess ファイルの権限が Apache2 による変更を許可するように設定されていることを確認します。
  4. キャッシュのクリア: を閉じて再度開きますブラウザを開くか、そのキャッシュをクリアして、新しい URL 構造が確実に認識されるようにします。

以上がmod_rewrite を使用しているにもかかわらず、CodeIgniter の URL が「index.php」を削除しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート