是否可以修改htaccess以根据浏览器类型有条件地提供文件?

时间:2015-01-23 06:08:27

标签: apache .htaccess mod-rewrite pdf mime-types

客户有一个大量使用pdf的网站,网站的某些部分依赖于浏览器中的pdfs加载。

浏览Google Chrome浏览器的用户偶尔也无法查看pdf文件。

这个问题可能是wordpress中固有的问题,请注意: https://wordpress.org/support/topic/pdf-files-and-chrome

与此同时,我想将以下条件添加到.htaccess:

If browser is chrome
   then Set MIMEtype to octet stream

这至少会让不幸的用户下载查看pdf,而不是加载屏幕。

从研究中我注意到可以通过.htaccess使用RewriteCond来检测浏览器,如下所示:

RewriteCond %{HTTP_USER_AGENT} Chrome

但是

ForceType application/octet-stream

似乎是调整MIMEtype的唯一方法。

有一种简单的方法可以让我忽略吗?

1 个答案:

答案 0 :(得分:1)

不,除非您使用apache 2.4并使用<If env>容器,否则可能不会。您可以使用SetEnvIf根据用户代理设置环境变量,但如果没有2.4中的<If>容器,则无法有条件地调用ForceType

您可能需要在脚本中强制输入类型,并通过该脚本路由直接文件访问。