2009-06-12 10 views
1

ファイル名がjs、css、gifなどで終わる場合を除いて、存在しないファイル名についてはmod_rewriteを有効にしたいので、通常の404を返すようにしてください...mod_rewriteを使用してアセット以外のindex.phpにリダイレクトするにはどうすればよいですか?

これは:

RewriteCond %{REQUEST_FILENAME} \.(js|ico|gif|jpg|png|css|pdf)$ [OR] 
RewriteCond %{REQUEST_FILENAME} favicon.ico$ [OR] 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^(.*)$ /index.php/$1 [L] 

私はどこかでオンラインで見つけましたが、うまくいかないようです。私の存在しないJSファイルはまだ私のindex.phpファイルに送られます。

答えて

2

このルールを試してみてください:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule !.*\.(js|ico|gif|jpg|png|css|pdf)$ /index.php%{REQUEST_URI} [L] 
+0

妥当と思われますが、それでも動作していないようです。 – blockhead

+0

それは私のために働く。 – Gumbo

+0

多分私のサーバーの設定...私は別のサーバーでそれを試し、それは広告として働いた。 – blockhead

0

.htaccessファイルの前にあるコマンドを追加しましたか? この行が気に入りましたか?

RewriteEngine On 
+0

明らかに...そうでなければ、mod_rewriteはまったく動作しません! – blockhead

0

あなたは.jsファイルだけでなく、.jsファイルまたは.JSかだけでなく、持つことができる場合は、最初の行に[NC]のフラグを使用する場合があります。 jSファイル...

関連する問題