不太确定从哪里开始。我有这个重写规则,我们使用lighttpd用于我们的应用程序,我们正在考虑将Web服务器移动到NginX进行标准化。
lighttpd.conf中的Lighttpd配置行:
url.rewrite-once = (
".*\?(.*)$" => "/index.php?$1",
"^/js/.*$" => "$0",
"^.*\.(js|ico|gif|jpg|png|css|swf |jar|class)$" => "$0",
"" => "/index.php"
)
首先,任何人都可以帮我翻译这些内容吗?我从别人那里继承了它,不知道这意味着什么?
接下来,如何在NginX中将这些行转换为可用的配置行?我甚至不确定为大家提供什么来帮助理解这条线。我所知道的是,当我们从lighttpd中删除这些行时,应用程序就会停止工作。我让我们的NginX在标准Php上使用Php-fpm在centos 6.4上工作。当我使用phpinfo文件时,NginX能够生成信息,但是当我们安装应用程序时,它会在错误日志文件中出错此错误。
2013/08/12 21:51:00 [error] 18844#0: *16 open() "/var/www/html/myapps/public/user/login" failed (2: No such file or directory), client: 192.168.8.100, server: _, request: "GET /user/login HTTP/1.1", host: "192.168.8.215"
在网页浏览器中,我收到了“ 404 not found ”错误。
另外,为了保持一致性,有人可以建议如何翻译这一行吗?
location / { if ( $uri !~ ^/(index\.php|css|images|core|uploads|js|robots\.txt) ) { rewrite ^ /index.php last; } }
请告知我可以提供的其他信息以帮助翻译?我甚至不确定这是否是NginX问题或应用程序问题。非常感谢您的所有帮助。
答案 0 :(得分:1)
我对lighttpd配置并不是很了解,你需要向我解释,以便我能用nginx格式编写它们。
另外我不知道将处理PHP的是什么,是fast-cgi还是fpm,还是什么?
server {
server_name example.com; #replace with your domain name
index index.php;
location / {
try_files $uri $uri/ /index.php$request_uri;
}
location ~* \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}