我正在使用下面的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按预期工作,所以它看起来像我的索引规则不起作用。 这里可能是什么问题?
有可能使用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; } }