CIを使ってブログっぽいサイトを作っています。HMVCプラグインを使用しています。私が取り組んでいるモジュールは「/journal」です。
個々の記事は/journal/ article / ID/SLUGでアクセスされます。これは正常に機能しますが、mod_rewriteを使用してURIを/ journal / ID/SLUGに短縮したいと思います。
これが私のルールです:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^journal/([0-9]+)(.*)$ index.php?/journal/article/$1$2 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1
テストには/journal/2を使用しています。
ルールが一致していることはわかっています。たとえば、リダイレクトをhttp://google.comに変更すると、実際にGoogleにリダイレクトされます。ただし、記述されたとおりにルールを使用すると、無視されているように見え、何を入力しても404が返されます。
明らかな(または不可解な)エラーを作成していますか?
編集:私は質問を投稿した直後にこれを理解しました。私のルールは確かに正しいですが、config/config.phpの次の行を変更する必要があります。
$config['uri_protocol'] = 'AUTO';
に
$config['uri_protocol'] = 'PATH_INFO';
その変更が何をするのか、なぜそれが問題を修正するのかを正確に知っているとは言いません。おそらく誰かが説明でフォローアップすることができます。