使用.htaccess从URL中删除.pdf文件扩展名

时间:2015-03-10 05:12:44

标签: apache .htaccess pdf mod-rewrite

我的服务器上有一个PDF文件,我希望在浏览器访问时删除该扩展程序。

我在.htaccess上添加了一个重定向,如:

Rediect permenent /somedestination http://example.com/somefile.pdf

我尝试了很多重定向规则,但所有这些规则都是为了隐藏.html,.php等扩展名,但我无法删除PDF扩展名。

我是这个.htaccess脚本的新手,所以任何帮助都会非常感激

2 个答案:

答案 0 :(得分:1)

重写规则"删除"除了简单地替换" html" html,php或任何其他扩展名看起来都是一样的。或者" pdf"。

例如,请查看此问题:remove .html extension from url

按照这些步骤操作,并采取这些规则并替换" html"与" pdf":

## hide .pdf extension
# To externally redirect /dir/file.pdf to /dir/file
RewriteCond %{THE_REQUEST} \s/+(.+?)\.pdf[\s?] [NC]
RewriteRule ^ /%1 [R=302,L,NE]

# To internally forward /dir/file to /dir/file.pdf
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.pdf -f [NC]
RewriteRule ^(.+?)/?$ /$1.pdf [L]

答案 1 :(得分:-1)

有人可以随意纠正我,但我认为它实际上是不可能的。在浏览器中打开PDF与提供图像非常相似。您的浏览器直接打开并解释该文件。

话虽如此,我可以想到例外情况。 Imgur可以提供动画.gif图像,但URL会读取.jpg,因此可能有某种方法可以屏蔽它。

一种可能的替代方法是找到在您为其生成名称的单独页面上显示PDF的内容。 A' hack-y'方法可能是尝试使用iframe?但是你可能会使用js插件或类似的东西。

相关问题