IIS URL 重写为重定向 PDF 文件(正则表达式)
IIS URL Rewrite to Redirect PDF File (Regex)
服务器:IIS 8
我有一个 URL 重写规则来将 PDF 文件重定向到一个页面,该页面将处理一些额外的处理。一切正常,除非 PDF 文件中包含特殊字符或空格,然后目标页面仅获取任何空格或特殊字符的字符。
例如,请参阅以下文件名:
Receipt - Hard Drive.PDF
接收页面 (/getfile/?PDF=) 将只接收
Drive.PDF
我尝试过各种正则表达式方法,但与大多数人一样,我的正则表达式知识非常糟糕。
我如何编写一个 'match URL' 来接受所有文件名(至少 Windows 接受的文件名,例如带有下划线、破折号、空格、单引号、双引号、井号的文件名, ETC)。有什么方法可以编写一些通用的东西,无论它们是什么,只要传递 all 个字符,因为我真的只想匹配 *.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>
您可以使用
<match url="(.+)\.pdf$" />
.+
匹配一个或多个除换行字符外的字符尽可能多。
服务器:IIS 8
我有一个 URL 重写规则来将 PDF 文件重定向到一个页面,该页面将处理一些额外的处理。一切正常,除非 PDF 文件中包含特殊字符或空格,然后目标页面仅获取任何空格或特殊字符的字符。
例如,请参阅以下文件名:
Receipt - Hard Drive.PDF
接收页面 (/getfile/?PDF=) 将只接收
Drive.PDF
我尝试过各种正则表达式方法,但与大多数人一样,我的正则表达式知识非常糟糕。
我如何编写一个 'match URL' 来接受所有文件名(至少 Windows 接受的文件名,例如带有下划线、破折号、空格、单引号、双引号、井号的文件名, ETC)。有什么方法可以编写一些通用的东西,无论它们是什么,只要传递 all 个字符,因为我真的只想匹配 *.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>
您可以使用
<match url="(.+)\.pdf$" />
.+
匹配一个或多个除换行字符外的字符尽可能多。