如何正确地将此Apache重写转换为Nginx?

时间:2018-07-09 21:16:20

标签: wordpress apache nginx

如何在Nginx上重写此Apache规则?

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} ^.*(pdf|epub)$
RewriteRule ^(.*)$ /wp-content/themes/divi-child/download.php?file=$1 [L]
</IfModule>

1 个答案:

答案 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 documentationblog posts