2010-12-02 11 views
0

私は自分のサイトからファイルをダウンロードするためにダイレクトパスを使用しています。リンクは、私が唯一のリンクの下に.htaccessの変更

http://www.site.com/download

ファイル、ディレクトリが登場し、DIR3が可変であるべきであるように、MOD REWITEルールでそれをラップしたいこの

http://www.site.com/download.php?dir1/dir/dir3/file.doc

のようなものです。 私の.htaccessファイルで何をするのですか?何か案が??

+0

'mod_rewrite'ドキュメントは、[ここ](http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html)。それを打つとここにエラーを報告し、人々が助ける。 –

答えて

0

簡単なリダイレクトは、次のようになります。

RewriteRule ^http://www.site.com/download/(.*)/?$ http://www.site.com/download.php?dir1/dir/dir3/$1 [NC,L] 

これが本当の場所に「人工的な」ダウンロードディレクトリとルートそれを何かのためのすべての要求がかかります。

あなたは、より複雑なルール、ニーズに応じて、などのファイルタイプを剥ぎ取り、またはファイル名などなどに「名前」をリダイレクトを追加することができます。..

例:

RewriteRule ^http://www.site.com/download/pdf/(.*)/?$ http://www.site.com/download.php?dir1/dir/dir3/$1.pdf [L,NC] 

これは人工的なを持っているでしょう拡張子からファイル名を含むPDFフォルダ.pdf docにルーティングする...あなたは本当に好きなように任意の方法でリダイレクトを形作ることができます...好きな形式に依存します

+0

申し訳ありませんが、私はディレクトリdirとdir3も変数ディレクトリであるとは言及していません。 – Adeel

+0

変数の場合は、渡す必要があります。同じ情報を送信することになります...論理が正しいように見えます。あなたは、DBにパスを格納し、次にファイルIDをhtaccess経由でPHP出力ファイルに渡す必要があります...または単にhtaccessを渡して、元の構造体を有効に残します – SW4

0

特に問題はありません。 dir1/dir/dir3/file.docとはどういう意味ですか? http://www.site.com/download.php?dir1/dir/dir3/file.docを取得する場合は、http://www.site.com/downloadにアクセスすると、.htaccessファイルの次の処理を行います。

RewriteEngine on 
RewriteRule ^download/(.*)/?$ download.php?dir1/dir/dir3/file.doc [L] 
関連する問題