如何在Nginx上重写此Apache规则?
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} ^.*(pdf|epub)$
RewriteRule ^(.*)$ /wp-content/themes/divi-child/download.php?file=$1 [L]
</IfModule>
答案 0 :(得分:0)
您指定的Apache mod_rewrite规则将对以后缀pdf或epub结尾的文件的请求重定向到/wp-content/themes/divi-child/download.php?file=
,并将文件名附加到URI的末尾。
使用nginx,可以通过虚拟主机配置中的以下位置块来实现:
location ~* \.(pdf|epub)$ {
rewrite ^/(.*(?:pdf|epub))$ /wp-content/themes/divi-child/download.php?file=$1;
}
此Stack Overflow question为文件扩展名的模式匹配如何工作提供了一些见识。
有关更多信息,请查看nginx documentation和blog posts。