2017-07-25 87 views
1

服務器:IIS 8IIS URL重寫重定向PDF文件(正則表達式)

我有一個URL重寫激怒到PDF文件重定向到一個頁面,將處理一些額外的處理。除非PDF文件中有特殊字符或空格,否則一切正常,那麼目標頁面只能獲取任何空格或特殊字符的字符。

作爲一個例子,請參見下面的文件名:

Receipt - Hard Drive.PDF 

接收頁(/ GETFILE/PDF =?)將只接收

Drive.PDF 

我曾嘗試過各種正則表達式的方法,但如大多數人對我的正則表達式知識是非常可怕的。

我該如何編寫一個能夠接受所有文件名(至少是Windows接受的文件名,如帶下劃線,破折號,空格,單引號,雙引號,英鎊符號等的文件名)的「匹配URL」。有什麼辦法可以寫出一些通用的東西,不管它們是什麼,只是簡單地通過全部個字符,因爲我真的只想匹配* .pdf?我目前的規則如下。

<rule name="PDF Rewrite" stopProcessing="true"> 
    <match url="([\w-]+)\.pdf$" /> 
    <action type="Redirect" url="/getfile/?PDF={R:1}.pdf" logRewrittenUrl="true" redirectType="Temporary" /> 
</rule> 
+0

嘗試'' –

+0

謝謝!這很好。你可以請張貼這個答案,以便我可以接受嗎? – Beems

回答

2

您可以使用

<match url="(.+)\.pdf$" /> 

.+比賽不是換行字符儘可能多的其他一個或多個字符。

+1

謝謝。我可以確認這是按照預期工作的。 – Beems