thinkPHP5.0伪静态监听文件下载并改名

3 篇文章 0 订阅

Nginx伪静态

if ($request_uri ~* "/Uploads/"){
  rewrite ^(.*)$ /files?path=$1 permanent;
  break;
}

Apache伪静态

  RewriteCond %{REQUEST_URI} ^/Uploads/
  RewriteRule ^(.*)$ /files?path=%{REQUEST_URI} [QSA,R,L]

在原有伪静态后面加上
我用的是thinkPHP5框架
修改之后的Nginx伪静态

if (!-e $request_filename){
  rewrite  ^(.*)$  /index.php?s=$1  last;   break;
}
if ($request_uri ~* "/Uploads/"){
  rewrite ^(.*)$ /files?path=$1 permanent;
  break;
}

修改之后的Apache伪静态

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

  RewriteCond %{REQUEST_URI} ^/Uploads/
  RewriteRule ^(.*)$ /files?path=%{REQUEST_URI} [QSA,R,L]
</IfModule>

亲测有效
文件存在时可以重写路径
原始url
http://test.cc/Uploads/file/20221208/6391a6fdccdc9.pptx
重写之后的url
http://test.cc/files?path=/Uploads/file/20221208/6391a6fdccdc9.pptx

伪静态域名重定向
Nginx伪静态

if ($host = "qhzhiye.cn"){
	rewrite ^/(.*)$ $scheme://www.qhzhiye.cn/$1 permanent;
}

Apache伪静态

  RewriteCond %{HTTP_HOST} ^qhzhiye.cn$
  RewriteRule ^(.*)$ %{REQUEST_SCHEME}://www.qhzhiye.cn%{REQUEST_URI} [R=301,L]

修改之后的伪静态
Nginx伪静态

if ($host = "qhzhiye.cn"){
	rewrite ^/(.*)$ $scheme://www.qhzhiye.cn/$1 permanent;
}
if (!-e $request_filename){
  rewrite  ^(.*)$  /index.php?s=$1  last;   break;
}

Apache伪静态

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  RewriteBase /

  RewriteCond %{HTTP_HOST} ^qhzhiye.cn$
  RewriteRule ^(.*)$ %{REQUEST_SCHEME}://www.qhzhiye.cn%{REQUEST_URI} [R=301,L]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值