ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Apache RewriteRule 重写URL拦截静态资源

2022-07-19 10:31:48  阅读:167  来源: 互联网

标签:RewriteRule 文件 URL filename 访问 file Apache pdf


Apache RewriteRule 重写URL拦截静态资源

比如服务器上面: /upload/abc.pdf文件

访问地址:http://www.xxxx.com/upload/abc.pdf

用户A登录下载了该文件 把下载地址分享给用户B

用户B通过浏览器直接访问或者通过下载工具直接下载

可以通过Apache RewriteRule来重写URL地址 拦截未登录的用户访问

通过.htaccess文件修改

代码表示 匹配upload目录下所有的.pdf文件 访问时跳转至指定的文件内

(.*)正则匹配 $1匹配的内容

//.htaccess
<IfModule mod_rewrite.c>
    ...
	RedirectMatch "/uploads/(.*)\.pdf$" "/index.php/Uploads/downloadPdf?file=uploads/$1.pdf"
</IfModule>

文档地址:https://httpd.apache.org/docs/2.4/mod/mod_alias.html#redirectmatch

//Uploads.php
$file = $_GET['file'];
$path = 'C://www/';
//拼接绝对本地路径
$filename = $path.$file;
//todo 不同的需求判断

header("Content-type: application/pdf");
header("Content-Length: " . filesize($filename));
readfile($filename);

实现了通过访问PDF静态资源,跳转到PHP文件实现拦截,如果通过验证文件输出到浏览器,如果不能通过验证则不输出文件。

标签:RewriteRule,文件,URL,filename,访问,file,Apache,pdf
来源: https://www.cnblogs.com/phper8/p/16493130.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有