1
我需要转换这个的.htaccess规则nginx的规则:转换这个阿帕奇重写规则Nginx的
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ navigation.php
RewriteRule .* - [E=HTTP_X_REQUESTED_WITH:%{HTTP:X-Requested-With}]
我用this在线转换工具,这给:
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /navigation.php;
}
HTTP_X_REQUESTED_WITH:$http_x_requested_with;
#ignored: "-" thing used or unknown variable in regex/rew
然而结果是不能在nginx 0.76中使用,并且我得到一个错误,说
unknown directive "setenv"
而当我消除最后一行在我的nginx配置中,脚本无法显示某些页面。
所以,我非常感谢,如果你可以做转换。
嗯,虽然你关于不使用'if'的观点是有效的,但是我所关心的是获得一组工作规则。我不认为在这一点上最好的nginx语法的问题是一个问题,因为nginx几乎不可能是PHP应用程序的瓶颈。不幸的是,你的建议语法给出了一个错误,说'HTTP_X_REQUESTED_WITH:$ http_x_requested_with;'是不知道的 – qliq
如果不是'优化'的问题不使用,如果没有做你期望的事情,它会替换位置......有问题的行是我从你的例子中复制的唯一的,删除它。你有没有试过fastcgi_param? – regilero