Nginx 为 WordPress 的 /wp-admin/root 提供 404 错误

Nginx 为 WordPress 的 /wp-admin/root 提供 404 错误

我正在使用以下 nginx 块将 mysite.com/blog 路由到我的 /var/www/mysite/wordpress/ 目录:

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;
    }
}

一切正常,只是 mysite.com/blog/wp-admin/ 出现 404 错误。访问 mysite.com/blog/wp-admin/index.php 一切正常,所以看起来我的索引规则不起作用。这里可能是什么问题?

答案1

可以使用alias指令解决此问题:

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;
    }
}

相关内容