1

当有人访问 example.pdf 时,他们会被重定向到 viewer.php。viewer.php 应该能够访问 pdf 文件。但是,.htaccess 文件会导致 viewer.php 文件由于重定向而无法访问 pdf 并陷入循环。

有没有办法将以下逻辑添加到.htaccess:

if(host = myserver)
     不重定向 pdf
否则
     将 pdf 重定向到 viewer.php

谢谢

这是我的 htacces 文件。

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 或类似的)。然后您可以更新您的 RewriteRule 在 $1 之后添加一个“s”,如下所示:

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 回答