2017-08-19 73 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; }