2012-02-15 4 views
0

私が取り組んでいる "キャッシュ"ソリューションのmod_rewrite設定にいくつか問題があります。私はコンパイルされたhtmlファイルで "キャッシュ"と呼ばれるディレクトリを持っています。私はまた、すべての要求を処理するindex.phpファイルを持っています。mod_rewrite:キャッシュまたはスクリプトにリダイレクト

今すぐすべてのリクエストが "/ articles" => index.php?q = articlesのようなindex.phpファイルに書き換えられます。

しかし、キャッシュ/記事/ index.htmlが存在する場合は書き直してください。それ以外の場合は、index.phpスクリプトに書き直してください。

私はしばらくの間、書き直しを使いこなしましたが、動作させることができません。書き換えコードは(キャッシュ用に何もせずに)次のようになります。事前に

<IfModule mod_rewrite.c> 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

</IfModule> 

感謝を:)

+0

どのようなエラーが表示されますか?あなたは「働かない」と説明できますか?あなたのApacheエラーログには何か?あなたはキャッシュのために試した.htaccessコードを投稿できますか? –

+0

キャッシュを追加する際の具体的な問題は何ですか?あなたはもう分からないのですか?どのrequest-urlファイル名のshemeがあなたのキャッシュを使用していますか? – hakre

+0

[RewriteRuleのファイルのリライトを確認するファイルが存在する]の複製が存在する可能性があります(http://stackoverflow.com/questions/470880/rewriterule-checking-file-in-rewriten-file-path-exists) – hakre

答えて

1

を増やしてみてくださいあなたのサイトのルートディレクトリにある.htaccessファイルに次。

RewriteEngine on 
RewriteBase/

#if the index.html exists in the cache 
RewriteCond %{DOCUMENT_ROOT}/cache%{REQUEST_URI}/index.html -f [NC] 
#then display it 
RewriteRule^cache%{REQUEST_URI}/index.html [L] 

#other existing rules go here 
+0

日! :) – Jacob

関連する問題