我刚刚开始在Digital Ocean管理我自己的VPS,并为多域网站使用nginx配置。
这就是我想要实现的目标:
foo.com/
映射到/usr/share/nginx/www/wordpress
foo.com/bar
映射到/usr/share/nginx/www/bar
(如果存在,否则请使用上面的Wordpress尝试此网址)foo.com/baz.jpg
映射到/usr/share/nginx/www/baz.jpg
基本上,我希望www
目录只是一个静态位置,但也能够从子文件夹中提供Wordpress(因此我不必将所有其他文件与Wordpress的文件夹结构混合在一起)
这是否有意义,是否可能?
到目前为止,这是我的nginx配置:
server {
listen 80;
server_name foo.com;
root /usr/share/nginx/www;
index index.php index.html index.htm;
location @wp {
rewrite ^/(.*) /index.php?q=$1;
}
location / {
root /usr/share/nginx/www/foo;
# index index.php index.html index.htm;
try_files $uri $uri/ @wp;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
}
道歉,如果这听起来很愚蠢,我仍然会了解nginx的工作原理以及它的可行性。
答案 0 :(得分:1)
我认为你很接近,但你需要一些调整,我删除了一些东西并修改了其他的
location @wp {
rewrite ^ /wordpress/index.php?q=$1;
}
location / {
try_files $uri $uri/ @wp;
}
# add php location