我目前有当前规则允许文件查看
RewriteRule ^ios/headers/([0-9]*\.[0-9]+|[0-9]+)/(.*).h$ /ios/headers/view.php?ios=$1&file=$2.h [L]
我有一个头文件列表,我想把它们放在查看器中,除非我设置了?raw = yes标签,然后我希望用户能够下载它(实际上是去文件)。
我将如何实现这一目标?
有更好的方法吗? .htaccess甚至这个强大吗?
答案 0 :(得分:1)
您可以检查" raw = yes"使用RewriteCond
:
RewriteCond %{QUERY_STRING} !raw=yes
RewriteRule ^ios/headers/([0-9]*\.[0-9]+|[0-9]+)/(.*).h$ /ios/headers/view.php?ios=$1&file=$2.h [L]
然后规则不会被应用,请求不会被重写为view.php
。但是,假设您直接访问:/ios/headers/123.234/foo.h
,则实际下载foo.h
。否则,您需要在view.php
中为raw=yes
参数添加代码并强制下载。