magento根目录下的wordpress博客的Nginx配置 [英] Nginx configuration for a wordpress blog in a subfolder of magento root

查看:91
本文介绍了magento根目录下的wordpress博客的Nginx配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经安装了Magento扩展程序,以使Wordpress博客与Magento集成在一起. 基本上,WP位于Magento根目录的子目录中.我想创建带有子目录的多个站点,但是由于nginx的配置,我无法使其正常工作.

I have installed a Magento extension to have a wordpress blog integrated with Magento. Basically, the WP is in a subdirectory of the Magento root. I want to create multiple sites with subdirectories but I can't make it work due to the nginx configuration.

WordPress在他的/wp子目录中( http://example.com/wp/wp-admin /)和其他网站,都可以从 http://example.com/wp访问/ca/​​ wp-admin/ http://example.com/wp/zh/wp-admin/

Wordpress is in his /wp subdirectory (http://example.com/wp/wp-admin/) and the others sites are accessible from http://example.com/wp/ca/wp-admin/ and http://example.com/wp/en/wp-admin/

这是到目前为止我得到的:

Here is whats I got so far :

server
{
    server_name dev.example.com;
    access_log /var/log/nginx/example.access.log;-
    error_log /var/log/nginx/example.error.log;
    root /var/www/example;

    location ^~ /wp {
        index index.php index.html index.htm;
        try_files $uri $uri/ /wp/index.php?q=$uri&$args;

        # Multisite
        if (!-e $request_filename) {
            rewrite /wp-admin$ $scheme://$host$uri/ permanent;         
            rewrite ^/wp(/[^/]+)?(/wp-.*) /wp$2 last;      
            rewrite ^/wp(/[^/]+)?(/.*\.php)$ /wp$2 last;
        }

        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_pass 127.0.0.1:9000;
        }   
    }  

    set             $mage_developer true;
    set             $mage_code es; 
    set             $mage_type store;
    include         snippets.d/magento-site;-
}

以及在snippets.d/magento-site中:

and in snippets.d/magento-site :

# Serve static pages directly,
# otherwise pass the URI to Magento's front handler
location / {
    index       index.php;
    try_files   $uri $uri/ @handler;
    expires     30d;-
}

# Disable .htaccess and other hidden files
location  /. {
    return 404;
}

# Allow admins only to view export folder
location /var/export/ {
    auth_basic               "Restricted";
    auth_basic_user_file     htpasswd;
    autoindex                on; 
}

# These locations would be hidden by .htaccess normally
location /app/                { deny all; }
location /includes/           { deny all; }
location /lib/                { deny all; }
location /media/downloadable/ { deny all; }
location /pkginfo/            { deny all; }
location /report/config.xml   { deny all; }
location /var/                { deny all; }

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

# Forward paths like /js/index.php/x.js to relevant handler
location ~ .php/ {
    rewrite ^(.*.php)/ $1 last;
}

# Execute PHP scripts
location ~ .php$ {

    # Catch 404s that try_files miss
    if (!-e $request_filename) { rewrite / /index.php last; }

    expires        off;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
    fastcgi_param  MAGE_RUN_CODE $mage_code;
    fastcgi_param  MAGE_RUN_TYPE $mage_type;
    fastcgi_ignore_client_abort on;
    fastcgi_read_timeout 900s; # 15 minutes
}

感谢您的帮助.

推荐答案

最后,它可以将所有请求传递到Blog到Apache,并在相应的虚拟主机中创建站点.

Well, in the end, it works passing all request to the blog to Apache and creating the site in the virtual hosts corresponding.

location ~ ^/blog {
 proxy_pass          http://apache:80;
 proxy_set_header    X-Real-IP  $remote_addr;
 proxy_set_header    Host $host;
 proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_read_timeout  6000s;
}

如果有人成功使其仅与Nginx兼容,我很期待他的回答:)

If someone succeed to make it work with Nginx only, I'm looking forward to his answer :)

这篇关于magento根目录下的wordpress博客的Nginx配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆