相对路径在网站文件上传到服务器后不起作用



我使用"localhost"并创建了所有的网站链接,按钮等使用相对路径结构。我的服务器代码是写在Node.js/Express。我还使用. js作为模板引擎…因此,我所有的服务器网页都在一个名为"views/pages"的文件夹中。

例如,使用这个结构,我有一个带有链接的按钮,编码为:
<a href="/_landing" class="btn btn-primary" role="button">Enter Site</a>

在我的开发'localhost'机器上,这足以在我的服务器脚本中调用'_landing'路由,然后渲染要服务的适当页面…没有任何困难。服务器代码会像这样读:

app.get('/', function (req, res) {
res.render('pages/_splash');
});
app.get('/_landing', function(req, res) {
res.render('pages/_landing', {user_stat: _subscriber});
});

现在我已经使用Plesk软件将我的站点文件上传到Windows服务器。站点文件和文件夹位于名为"httpdocs"的目录中。现在看来我的相对路径链接坏了。再次使用上面的按钮链接作为例子,由于某种原因,它现在想要路由到"https://example.com/_landing"...which显然是不正确的。为什么相对路径现在似乎忽略了Node.js中的路由调用?

任何建议非常感谢,我有极端困难张贴我的网站在线由于无数的未记录的问题,像这样…发布请求到我的服务器支持将是无用的,因为他们不响应"编码问题"。我提前感谢你。

对于任何可能感兴趣的人来说,几周后我能够确定这里的问题。为了解决这个问题,我最终获得了Plesk的支持。Plesk技术人员向我确认,我所描述的问题是由Plesk软件平台的错误引起的。

解决这个bug的方法是在web中插入一些额外的代码。配置文件如下:

<rewrite>
<rules>
<remove name="startup-file for site #1" />
<rule name="startup-file for site #1">
<match url="/*" />
<conditions />
<serverVariables />
<action type="Rewrite" url="/test2.js" />
</rule>
</rules>
</rewrite>

此代码将出现在web中。/httperror "并且在"/system. webserver"中…'test2.js'应该被设置为你的域名的JS脚本文件。

最新更新