2012-05-12 6 views
0

mod_rewrite私はコンテンツディレクトリでファイルを探し、見つからない場合はCMSに電話をかけようとしていますが、動作させることができません。私はここで同様の質問に対するいくつかの答えを試しましたが、どれも正しく動作するようです。存在する場合はファイルを返すmod_rewrite

マイ.htaccessファイルは次のようになります。

RewriteEngine on 
RewriteBase/

RewriteCond %{DOCUMENT_ROOT}/content/$1 -f 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/content/$1 [QSA,L] 

RewriteRule ^.*$ index.php [QSA,L] 

私は私の最初のルールに[L]サフィックスを追加すると、それはさらにルールを実行しないことを意味していると考え、関係なく、存在の私のCMSを呼び出すように見えますまたはファイルが存在しないことを示します。 2番目のルールをコメントアウトすると、ファイルが返されますが、明らかにCMSは返されません。私はまた、追加しようとしました

RewriteCond %{DOCUMENT_ROOT}/content/$1 !-f 

2番目のルールの前に、それは何か違いはないようです。

ディレクトリが存在するかどうかを確認したいのですが(つまり、-d)、ファイルを取得することさえできないので、まだコードを入れていません。

ありがとうございます!

答えて

2
RewriteEngine on 
RewriteBase/

RewriteRule ^content/ - [L] 

RewriteCond %{DOCUMENT_ROOT}/content/$1 -f [OR] 
RewriteCond %{DOCUMENT_ROOT}/content/$1 -d 
RewriteRule ^(.*)$ /content/$1 [L] 

RewriteRule ^.*$ index.php [QSA,L] 
+0

簡潔ですが、機能します!ありがとう! :) – Statto

関連する問題