2016-10-25 11 views
4

仲間のプログラマー!Apache mod-rewrite htaccess - パラメーターを指定した動的URL

私は、次の動的URLを取得しようとしている:

http://example.com/pdfs/viewpdf?id=1494 

は、ブラウザのアドレスバーに書き換えられる:

http://example.com/pdfs/1494/1494.pdf 

は、基本的には、ユーザーが表示する要求に入っていますファイル/ Webサーバー上で利用可能なPDFを提供し、提供されたID番号に基づいて、PDFファイル名と共に提供されるIDとフォルダ名が一致するDOCUMENT_ROOT/pdfs /のサブフォルダから文書を取得して取得します同じIDと一致します。誰も助けることができますか?私が試したことはすべて動作しません。

ありがとうございます!

答えて

1

は、root /の.htaccessに以下のルールを試してみてください:

RewriteEngine on 
#1 Iteration)Redirect "/pdfs/viewpdf/?id=123" to "/pdfs/123/123.pdf" 
RewriteCond %{THE_REQUEST} /pdfs/viewpdf/?\?id=([^&\s]+) [NC] 
RewriteRule^/pdfs/%1/%1.pdf? [L,R] 
#2 iteration) internally map "/pdfs/123/123.pdf" to "/pdfs/viewpdf/?id=123" 
RewriteRule ^pdfs/[^/]+/([^.]+)\.pdf$ /pdfs/viewpdf/?id=$1 [L,QSA] 
+1

これは私のために完全に働きました!ご協力ありがとうございました!あなたは私の正気を回復するのを手伝った!笑。 – tfrancois

+0

更新:これは専用のRed Hatサーバーではうまくいきました...しかし、私の人生の間、DreamHost共有サーバーでこの全く同じファイルを試したとき、私は正方形に戻りました。もう動作しません。私はhtaccess Tester @ http://htaccess.madewithlove.be/で上記を使用しましたが、それも失敗します。 THE_REQUESTはサポートされていないと言います。他の提案はどうぞ? – tfrancois

関連する問題