0

元の PDF パスに設定されたパラメーター 'ref' を使用して、PDF の URL を中間の html ページに書き換えようとしています。この中間ページは、PDF ビューを追跡するために使用される分析ツールです。JavaScript を使用してビューを記録し、実際の PDF ソース URL にリダイレクトします。

http://www.mydomain.com/dir/some-pdf.pdfは、http://www.mydomain.com/elqNow/elqRedir.htm?ref=http (s)://www.mydomain に書き換える必要があります。 com/dir/some-pdf.pdf

基本的に、ルールは %{REQUEST_URI}、%{HTTP_REFERER} で /elqNow/elqRedir.htm をチェックする必要があり、「ref」パラメーターはフル パス (例: http(s)*://%{HTTP_HOST}/PDF_URL) である必要があります。 (ハードコーディングせずに http または https を追加する方法がわかりません。)

これは私がこれまでに持っているもので、厄介なループを作成します:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/elqNow/elqRedir\.htm$
RewriteRule ^(.+\.pdf|PDF)$ elqNow/elqRedir.htm?ref=http://%{HTTP_HOST}/$1 [R=301, L] 

助けてくれてありがとう!

4

1 に答える 1

0

理解した。リファラーをチェックして中間 HTML ページではないことを確認することで、ループを防ぎます。奇妙にフォーマットされた「pdf」ファイル拡張子をキャッチするために、RewriteRule を少しクリーンアップしました。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !elqRedir\.htm
RewriteRule ^(.+\.[pP][dD][fF])$ /elqNow/elqRedir.htm?ref=http://%{HTTP_HOST}/$1 [R=302,L]
于 2012-07-16T16:11:36.290 に答える