1

example.pdf にアクセスすると、viewer.php にリダイレクトされます。viewer.php は、pdf ファイルにアクセスできる必要があります。ただし、.htaccess ファイルにより、リダイレクトが原因で viewer.php ファイルが pdf にアクセスできなくなり、ループに陥ります。

次のロジックを .htaccess に追加する方法はありますか:

if(host = myserver) pdf をリダイレクト
     しない
そうでなければ、
     pdf を viewer.php にリダイレクトします

ありがとう

これが私のhtaccessファイルです。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.pdf$  web/viewer.php?pdf=$1 [L,NC,QSA]
AddType application/octet-stream .pdf
4

1 に答える 1

1

編集:私はライブラリのソースを見てきました.PDFへのリクエストを行っているのはあなたのサーバーではありません.残念ながらクライアント側のリクエストになるのはjavascriptです.望んでいた!(つまり、127.0.0.1 はユーザーの IP アドレスになるため、単に確認することはできません)。

どのように正しく機能するかはわかりませんが、すべての PDF ファイルを更新して、ファイル拡張子に余分な文字を追加することもできます (したがって、.pdf の代わりに .pdfs などになります)。次に、次のように $1 の後に「s」を追加して RewriteRule を更新できます。

RewriteRule ^(.+)\.pdf$  web/viewer.php?pdf=$1s [L,NC,QSA]

これは、pdf.js スクリプトが拡張子 .pdf なしでファイルをレンダリングできることを前提としています。


次のようなことを試してください:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
RewriteRule ^(.+)\.pdf$  web/viewer.php?pdf=$1 [L,NC,QSA]
AddType application/octet-stream .pdf
于 2012-07-30T22:10:03.520 に答える