为什么我不能访问Magento上的默认页面以外的其他页面?

时间:2016-02-01 09:48:58

标签: php nginx magento-1.9

大家好,我是magento的新手。我一直试图在Ubuntu 14.04LTS上使用nginx服务器安装magento 1.9.0.0,但我无法启动。我可以看到默认页面见下文

magento default page

但是每当我尝试登录时,服务器都会因UNABLE TO CONNECT错误而失败。

这是我的虚拟主机

server {
    listen   80;
    listen   [::]:80;
    server_name www.mymagento.com;
    root /var/www/magento;
    index index.php;
    #need it to execute php
    location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    include fastcgi_params;
    include fastcgi.conf;
    }

}

我已经尝试了其他解决方案,例如更新core_config_data web / unsecure / base_url和web / secure / base_url,它们包含我的基本网址。 我尝试重新加载缓存。 nginx log neiher中没有任何内容。

感谢您帮助我: - )

2 个答案:

答案 0 :(得分:0)

您无需将URI重定向到Magento公共前端处理程序。至少你应该添加:

location / {
    try_files $uri $uri/ /index.php;
}

但我建议您查看this site了解更多信息。

答案 1 :(得分:0)

正如理查德·史密斯所说,我的虚拟主机错过了一些线路以某种方式重定向到前处理程序。由于我刚刚开始使用Nginx,我将无法解释每一行,但在与Nginx结合后,这个配置对我有用(我还需要添加自签名证书以配置以使其工作)。

server {
    listen   80;
    listen   [::]:80;
    listen 443 default ssl;
    server_name www.mymagento.com;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    root /var/www/magento;
    index index.php;


    location / {
            index index.html index.php;
            autoindex on;
            #If missing pass the URI to Magento's front handler
            try_files $uri $uri/ @handler;
            expires max; 
 }

    #need it to execute php
    location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    include fastcgi_params;
    include fastcgi.conf;
    }

    ## Magento uses a common front handler
    location @handler {
    rewrite / /index.php;
    }


}