除主页外没有找到

时间:2011-05-07 19:31:56

标签: apache nginx yii

我正在使用YII框架。我可以通过localhost / index.php访问我的网站 然后,如果我点击它上面的任何链接,它会说:404找不到。 它适用于Apache。我试图用NGINX配置它没有成功。有人可以告诉我,如果某些东西适用于Apache但不能与NGINX一起使用会出现什么问题?

来自nginx的日志错误:

2011/05/07 11:27:42 [错误] 5104#3152:* 30 CreateFile()“c:\ EWemp \ nginx-0.8.52 / html / rooms / finished”失败(3:系统不能找到指定的路径),client:127.0.0.1,server:localhost,request:“GET / rooms / finished HTTP / 1.1”,host:“localhost”,referrer:“http://localhost/index.php”

所以,我认为它需要某种URL重写,因为我没有html / rooms / finished目录。 它就像html / controller / action /但我不知道要改变什么才能让它工作

2 个答案:

答案 0 :(得分:1)

Yii使用一个index.php文件来处理所有客户端请求。您需要将/rooms/finished重写为index.php/rooms/finished

我已经使用这个Nginx配置重写了一个index.php文件要处理的所有请求。此配置使用Fast-CGI将PHP请求传递给PHP-FPM。如果您使用proxy_pass,则可以使用rewriteproxy_pass解释为here

location / {
    index index.php; # Set the index file
    try_files $uri $uri/ @handler; # If missing pass the URI to front handler
}

location @handler {
    rewrite / /index.php;
}

location ~ .php$ {
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_param  SCRIPT_FILENAME  PATH_TO_SCRIPT$fastcgi_script_name;
    fastcgi_pass   127.0.0.1:9000;
}

答案 1 :(得分:0)

在我看来,你应该像在Apache中一样制作“ .htaccess文件”。