2014-11-05 15 views
4

我在/ var/www/mysite/symfony有一個Symfony站點,在/ var/www/mysite/wordpress有一個WordPress博客。我如何將mysite.com/blog直接轉到WordPress以及其他所有對Symfony的請求?這是我迄今爲止所嘗試的:Symfony和WordPress的nginx配置互相運行

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在我的網站根目錄下運行良好。

我哪裏錯了?

+0

你得到這個工作?我們必須用類似的設置開發一個項目。如果您發現部署此設置的任何「陷阱」,希望能在此處找到答案。 – JiuJitsuCoder 2014-12-12 20:10:29

回答

0

我找到了一個子文件夾安裝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