2017-08-19 71 views
0

我想在我的nginx服务器上配置多个网站。我的配置在/ etc/nginx的/ /默认如下启用站点-:在nginx服务器上配置多个站点

server { 
     listen 80 default_server; 
     listen [::]:80 default_server; 

     server_name _; 

     root /var/www/html/MyWebsite; 

     location/{ 
      try_files $uri $uri/ =404; 
     } 

     location /admin { 
      alias /var/www/html/MyWebsiteAdmin; 
      try_files $uri $uri/ =404; 
     } 
} 

我的网站是部署在www.mywebsite.com。我可以访问www.mywebsite.com,但由于很少出现错误,无法访问www.mywebsite.com/admin,因此无法加载js和css文件,例如:www.mywebsite.com/inline.bundle.js,www .mywebsite.com/theme.css等等。所以,它试图访问www.mywebsite.com上的js和css文件,但不是来自www.mywebsite.com/admin/inline.bundle.js。我该如何解决这个问题?

+0

对于多个站点,你必须创建新的* .conf文件与新的域或子域 –

+0

什么是问题,你从来没有发布任何错误或日志? –

+0

如果要在单个域中运行多个站点,然后在根文件夹中创建多个文件夹并为所有文件写入重写规则,则必须现在为多个站点 创建新的* .conf文件 example'location/example1 {index index.html index.php; try_files $ uri $ uri/@ example1; if($ uri〜“^/index.php/admin。* $”){rewrite ^/index.php/admin(。*)/ admin $ 1 redirect;} if($ uri〜“^/index.php”) {rewrite/redirect;}} location @ example1 {rewrite ^/example1 /(.*)/example1/index.php/$1;} ' –

回答

0

/管理是文件夹,那么你不需要

location /admin {alias /var/www/html/MyWebsiteAdmin;try_files $uri $uri/ =404;} 现在/ admin是像www.mywebsite.com/index.php/admin那么你必须添加的index.php重写规则 location/{index index.html index.php;try_files $uri $uri/ @handler;}location @handler { rewrite//index.php; }