0

サーバーにファイル foo.bar.1 があり、ブラウザー (firefox) からアクセスしようとすると、「You have selected to open foo.bar.1 which is a: 1 file .. . Firefox はこのファイルで何をすべきか...". foo.dat へのシンボリック リンクを作成すると、問題なくアクセスできます。期待どおりにコンテンツがブラウザに表示されます。

私の問題は、これらすべてのファイルのシンボリックリンクを作成したくないということです。次のような mod_rewrite ルールを使用したいのです

RewriteRule ^([^/]+)\.dat$ $1.bar.1

しかし、それはシンボリックリンクのようには機能しません。同じポップアップが表示されます(ただし、奇妙なことに、「DATファイルであるfoo.datを開くことを選択しました...」と表示されます。

シンボリックリンクによって達成されるように、ブラウザーがだまされて通常の .dat ファイルのように処理されるように、書き換えルールを実行するにはどうすればよいですか?

4

2 に答える 2

2

mod_mime がインストールされている場合は、次のことができます。

AddType text/plain .1

テストされていませんが、ダウンロードではなくファイルが表示されるはずです

AddType のドキュメントについては、 http: //httpd.apache.org/docs/2.0/mod/mod_mime.html#addtypeを参照してください。

于 2009-05-27T05:10:33.900 に答える
1

ディレクティブの[T]引数を調べます。RewriteRule

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule

シンボリック リンクを作成すると、Apache は.datファイルを提供していると認識しますが、mod_rewrite を使用しても、Apache は依然として.1ファイルを提供していると認識します。これは、ブラウザに提供される Content-type ヘッダーに現れます。

于 2009-05-27T05:12:40.747 に答える