私は解決するために苦労している問題があるようです。私はここで少し助けが好きです。 私はmod_autoindex
とFancyIndexing
を使用しているダンプサイトを持っています。mod_rewriteがmod_autoindexに正しいファイルタイプアイコンが表示されないようにします
私のFancyIndexing
アイコンは、私の.htaccess
ファイルに定義されています。私もmod_rewrite
を使用してファイルをいくつかのPHPスクリプト(ファイルの拡張子に応じて)に渡します。
ファイル拡張子がRewriteRule
にある場合を除いて、Apacheはデフォルトのアイコンのみを表示し、指定されたアイコンは表示しません。
すべてFancyIndexing
リソースは/imgindex
ディレクトリにあり、すべてのビューアは/viewers
ディレクトリにあります。
これは.htaccess
ファイルの関連部分である(私は現在、それを微調整していますので、それを最適化していない):私が言ったように
Options +Indexes
IndexOptions +XHTML +HTMLTable +FancyIndexing +FoldersFirst +SuppressHTMLPreamble +IconsAreLinks +IgnoreCase +NameWidth=*
IndexIgnore *~ imgindex viewers favicon.ico
HeaderName /imgindex/header.html
ReadmeName /imgindex/footer.html
# ------ Fancy Indexing ----------
AddIcon /imgindex/image.png .jpg .jp2 .jif .jpeg .tiff .tif .pict .pct .bmp .gif .png .psd .tga .ai .indd .fh* .fh10 .xcf .svg
AddIcon /imgindex/app.png .app
AddIcon /imgindex/movie.png .mov .mpg .mpeg .m2v .avi .divx .xvid .swf .wmv .wma .wm* .ram .rm .ogm .ogv
AddIcon /imgindex/txt.png .txt .text .log
# etc, etc.
DefaultIcon /imgindex/text.png
# ------ Rewriting --------
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^viewers/(.*)$
RewriteCond %{REQUEST_URI} !^imgindex/(.*)$
RewriteRule ^(.*).(css|cs|cpp|h|hpp|pas|xml|js|asm|inc|as|sh|bat|cmd|html)$ /viewers/view_source.php?file=$1.$2&%{QUERY_STRING} [NC,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^viewers/(.*)$
RewriteCond %{REQUEST_URI} !^imgindex/(.*)$
RewriteRule ^(.*).(jpg)$ /viewers/viewjpg.php?file=$1.$2&%{QUERY_STRING} [NC,L]
# (etc, etc.)
は、すべてがアイコンを除いて、偉大な動作しているようです。上記の場合、.css, .cs, .cpp
、および(すべて).jpg
のすべてのファイルは、ファイルタイプ(AddIcon
で定義されている)の代わりに、DefaultIcon
で定義されたアイコンを使用します。
ファイルタイプに一致するRewriteRule
を削除すると、正しいアイコンが表示されます。
これは正常な動作ですか?もしそうなら、それを上書きする方法はありますか?
よろしく、
"mistery"(または私が間違っていること)に追加すると、ファイルの1つ(AddDescription "whatever"ファイル名)に説明を追加しようとしましたが、 RewriteRuleで。完全に別の方法で動作します。 – Jcl