我正在尝试为我的新nginx网络服务器转换我的Apache重写规则,但我在翻译这一特定行时遇到了问题:
RewriteRule ^(arin|barry|john|ross|danny).*$ /share/$0 [NC]
至于我的旧Apache服务器,此规则导致
http://example.com/danny/awesomeVideo.avi
代替查看http://example.com/share/danny/awesomeVideo.avi
,而不更改链接。
老实说,正如我很久以前的Apache设置一样,我甚至不确定查看该文件的人是否因为地址栏中的链接而不是更改这条规则与否。
大多数在线转换器都会为nginx提出此规则:
rewrite ^/(arin|barry|john|ross|danny).*$ /share/$0 last;
不幸的是,$0
似乎有问题,因为这是我重启nginx时得到的:
重新启动nginx:nginx:[emerg] unknown“0”变量
nginx:配置文件/etc/nginx/nginx.conf test failed`
有谁知道如何在nginx中表达Apache的$0
?
答案 0 :(得分:6)
尝试使用$uri
或$request_uri
代替$0