ExpressJS中的VHost访问主网站页面

Posted

技术标签:

【中文标题】ExpressJS中的VHost访问主网站页面【英文标题】:VHost in ExpressJS accessing pages of main website 【发布时间】:2021-02-27 13:31:46 【问题描述】:

我在 express 中使用虚拟主机 (vhost) 将子域链接到我的网页。但问题是子域也能加载主网页的页面。

例如。我有网站www.ritish.me,我尝试链接子域www.blogs.ritish.me。我有页面www.ritish.me/projects,但页面/projects 也正在使用www.blogs.ritish.me。喜欢www.blogs.ritish.me/projects。

我在标题中有项目链接,例如:

<li><a class="nav-link" href="/projects">PROJECTS</a></li>

【问题讨论】:

【参考方案1】:

嗯,我也在做同样的事情,并找到了解决这个问题的方法。

我们可以做的是,我们可以将我们的子域页面重定向到我们的主域页面。由于子域在同一台服务器上工作,并且 vhost 作为中间件工作,因此所有域都可以访问这些页面。

const express = require('express');
const sub = express();

sub.get('/', function(req, res)
return res.render('subdomain_test');
)

这将使子域页面分开并相应地工作。假设您在主域中有一个联系页面,您可以进行更改。

sub.get('/contact', function(req, res)
 return res.redirect('http://localhost:8001/contact');
)

这样做的目的是将子域重定向到主域的联系页面。所以无论如何,如果客户端试图摆弄,他们将别无选择,而是转到主域的联系页面。

【讨论】:

以上是关于ExpressJS中的VHost访问主网站页面的主要内容,如果未能解决你的问题,请参考以下文章

zabbix监控多个nginx vhost网站状态码

expressJS 4.x + vhost + SSL / HTTPS

我无法让 Vhost 在 centos 6.8 上托管多个 wordpress 网站

我的 ExpressJS 网站和 socket.io 端口可以使用相同的端口吗?

如何使用基于网站的 ExpressJs 设置 CORS 和 JWT 令牌验证

ExpressJS 更改路由而不刷新