正如标题所述。假设一个人访问我的数据库http://domain.com/database/file.zip中的文件。一旦启动了文件下载,我希望浏览器再次重定向到数据库目录。这是我到目前为止所做的:
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^Database(.zip)$ http://domain.com/db/index.html [R=301,L]
但是,我收到500错误。
如果我过于挑剔,最好在以下链接上忽略此功能:& file = something.zip。
无论哪种方式,让第一部分工作都会很棒。
编辑!
这最终对我有用。干杯!
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} .*zip$|.*rar$|.*tar$|.*txt$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !domain\.com [NC]
RewriteRule ^(.*)$ /dl.php?url=%{REQUEST_FILENAME} [L]
答案 0 :(得分:0)
mod_rewrite不可能按照你所描述的方式实现:一旦服务器开始传送内容(发送200状态代码),没有相应的第二个请求就无法启动第二个响应。
如果你想这样做,你必须在客户端进行:例如,启动下载目标是一个单独的隐藏iframe,如果下载开始,那么你可以使用window.location
更改页面位置。