我过去常常将我的网站托管在Apache服务器上并拥有像我这样的htaccess文件
RewriteEngine On
RewriteBase /
RewriteRule ^debs_public/(.*)\.deb$ counter.php?request=%{REQUEST_FILENAME}
我最近更改为VPS,并根据更快的建议使用nginx设置服务器。我一直在努力转换htaccess文件。我使用了转换器并得到了这一行。
location /debs_public {
rewrite ^/debs_public/(.*)\.deb$ /counter.php?request=$request_filename;
}
但是当我将其添加到我的配置时,会导致错误500内部服务器错误。有关改变什么的任何建议吗?
注意:当从我的Cydia存储库下载deb时,计数器的作用是计算的。在Apache中正常工作但在nginx中失败。
答案 0 :(得分:4)
尝试以下内容:
location /debs_public/ {
rewrite ^/debs_public/(.*)\.deb$ counter.php?request=$request_filename; break;
return 403;
}
希望这可行。
特别报价:
“如果这些指令放在”/ debs_public /“位置内,最后一个标志应该用break替换,否则nginx会生成10个周期并返回500错误:”
参考:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html