我在/var/www/mysite/symfony上有一个Symfony网站,在/var/www/mysite/wordpress上有一个WordPress博客。如何将mysite.com/blog定向到WordPress,并将所有其他请求定向到Symfony?到目前为止,这是我尝试过的方法:

server {
    server_name mysite.com;
    root /var/www/mysite/symfony/web;

    location / {
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config)\.php(/|$) {
         include fastcgi_params;
         fastcgi_param SCRIPT_FILENAME $request_filename;
         fastcgi_index index.php;
         fastcgi_pass 127.0.0.1:9000;
    }

    location ~ ^/blog {
        root /var/www/mysite/wordpress;
        try_files $uri $uri/ /blog/index.php?$args;

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;

                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_index index.php;
                fastcgi_pass 127.0.0.1:9000;
        }
    }

    access_log /var/log/nginx/mysite-access.log;
    error_log /var/log/nginx/mysite-error.log;
}

通过这种配置,我得到一个“找不到文件”。我访问mysite.com/blog时出错。我的nginx日志文件显示FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream。我知道这与我的php-fpm设置无关,因为Symfony在我的站点根目录运行良好。

我要去哪里错了?

最佳答案

我找到了在子文件夹中安装wordpress的特定规则:

# Replace all occurrences of [subfolder] with the folder where your WordPress install is located

# The WordPress rewrite
location /[subfolder] {
    try_files $uri $uri/ /[subfolder]/index.php?$args;
}

# The default MODX rewrite</h1>
location / {
    try_files $uri $uri/ @modx-rewrite;
}

原始帖子在这里:Web Rules: Nginx Rewrites, Redirects and other Cloud Configs | MODX Cloud

关于wordpress - Symfony和WordPress的nginx配置彼此并存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26769292/

10-14 22:55
查看更多