我在apache httpd 2.2中使用重写规则来使用此URL下载文件
http://<MYHOSTNAME>/?crlname=CRLNAME
此网址应重写为http://<MYHOSTNAME>/crl/CRLNAME.crl
RewriteEngine On
RewriteCond %{QUERY_STRING} crlname=([\w\d-]+) [NC]
RewriteRule ^/?$ /crl/%1.crl [L]
我遇到的问题是,在浏览器中输入http://<MYHOSTNAME>/?crlname=CRLNAME
时,会下载文件,但文件名错误。
它应该是CRLNAME.crl但它的null。
答案 0 :(得分:0)
在此处找到解决方案http://www.xoogu.com/2011/htaccess-rule-to-prompt-file-download/
标题必须与内容处理一起使用,文件名由第二个重写规则在环境变量中设置。
RewriteCond %{QUERY_STRING} crlname=([\w\d-]+)
RewriteRule ^/?$ /crl/%1.crl
RewriteRule ([^/]*)$ - [L,E=filename:$1]
Header onsuccess set Content-disposition "attachment; filename=%{filename}e"