私は解決するのに苦労してきた問題を抱えているようです。ここで少しお役に立てれば幸いです。と を使用しているダンプ サイトがmod_autoindex
ありFancyIndexing
ます。
ファイルにFancyIndexing
アイコンが定義されてい.htaccess
ます。また、いくつかの php スクリプトを介してファイルを渡すためにも使用mod_rewrite
します (ファイル拡張子によって異なります)。
ファイル拡張子が で一致する場合を除いて、すべてがうまく機能します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
定義されたアイコンを使用します。DefaultIcon
AddIcon
RewriteRule
そのファイルタイプに一致する を削除すると、正しいアイコンが表示されます。
これは正常で、予想される動作ですか? もしそうなら、それをオーバーライドする方法はありますか?
よろしく、