2014-11-07 31 views
1

我目前擁有的當前規則,允許一個文件的觀看的.htaccess允許文件下載,如果條件設置

RewriteRule ^ios/headers/([0-9]*\.[0-9]+|[0-9]+)/(.*).h$ /ios/headers/view.php?ios=$1&file=$2.h [L]

我的頭文件的列表,我希望把它們通過觀衆除非我設置了?raw = yes標記,否則我希望用戶能夠下載它(實際上是轉到文件中)。

我該怎麼做到這一點?

有沒有更好的方法來做到這一點? .htaccess甚至是這個強大的?

+0

那麼這個規則有什麼問題? – 2014-11-07 00:45:28

+0

該規則適用於查看,但我需要另一個允許下載的規則(?)。 – twodayslate 2014-11-07 00:46:30

回答

1

可以使用檢查的「原始= 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參數添加代碼,並強制通過那裏進行下載。

+0

這會觸發任何情況下的下載(即使只是?之後的?)。幸運的是,這對我來說很好!謝謝! – twodayslate 2014-11-07 01:44:39