3
我有几个网站。每个网站都有自己的“服务器”与服务器名,看起来像这样Nginx路由到服务器的路径
server {
...
server_name siteA.example.com;
root /var/www/siteA;
...
}
因此我可以使用url http://siteA.example.com
然而,我还需要打开该网站,弹出的网站通过使用部分url http://example.com/siteA 这怎么办?
优秀的Dayo。再一次澄清。每个服务器的配置都保存在一个站点可用的目录中的单独文件中。例如:sites-available/siteA.conf,sites-available/siteB.conf。在上面的选项2中,每个301都会查找siteX.example.com。通过使用localhost来避免这种查找的最好方法是什么?像301 http://siteB.localhost$request_url,然后在siteB.conf中有server_name siteB.localhost,siteB.example.com。 – Alkaline
澄清。取决于所使用的位置,重定向到siteX的配置文件的最佳方式是什么?例如。 location/siteB最终使用siteB.conf。 – Alkaline
重定向是微不足道的,遵循良好的做法。如果你真的想避免这种情况,那就选择选项1.就个人而言,我会使用选项2,因为允许多条路线通向资源(通常是出于历史原因),每个资源应该通过一条路线单独。因此,可以从'example.com/SiteA/somefile.ext'和'siteA.example.com/somefile.ext'到达'/ var/www/siteA/somefile.ext',但它应该只能一直服务来自其中一个和通过其他路线请求的用户应该相应地重定向。 – Dayo