Nginx 为 WordPress' /wp-admin/ root 提供 404 错误
问题:Nginx 为 WordPress' /wp-admin/ root 提供 404 错误 我有一个 Symfony2 应用程序与 WordPress 一起运行 - mysite.com/blog 路由到我的/var/www/mysite/wordpress/目录,其他所有路由到/var/www/mysite/symfony: server { listen 80; server_name m
·
问题:Nginx 为 WordPress' /wp-admin/ root 提供 404 错误
我有一个 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
行不起作用。这里可能是什么问题?
解答
您应该使用alias
而不是root
指令:
location ^~ /blog {
alias /var/www/mysite/wordpress;
index index.php;
try_files $uri $uri/ /blog/index.php?q=$uri&$args;
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;
}
}
已为社区贡献15557条内容
所有评论(0)