【发布时间】:2019-04-22 16:01:51
【问题描述】:
我有一个 Symfony2 应用程序与 WordPress 一起运行 - mysite.com/blog 路由到我的 /var/www/mysite/wordpress/ 目录,其他所有内容都路由到 /var/www/mysite/symfony:
server {
listen 80;
server_name mysite.com
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
internal;
}
location /blog {
root /var/www/mysite/wordpress;
rewrite ^/blog/(.+)$ /$1 break;
try_files $uri $uri/ /blog/index.php?q=$uri&$args;
index index.php;
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_split_path_info ^(?:\/blog)(.+\.php)(.*);
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}
一切正常,除了 WordPress 管理员 (mysite.com/blog/wp-admin/) 给我一个 404 错误。访问 mysite.com/blog/wp-admin/index.php 按预期工作,所以看起来index index.php 行不工作。这可能是什么问题?
【问题讨论】:
-
显示完整配置。我在
/wp-admin/路径中看不到/blog/部分,所以这个位置与问题无关。 -
@AlexeyTen 抱歉,我应该澄清一下我正在访问 /blog/wp-admin/。我已经更新了问题。
-
wordpress index.php 在
/var/www/mysite/wordpress中吗?那么我认为 /blog 位置块中的 try_files 子句应该是try_files $uri $uri/ /index.php?$args