我已经构建了一个Vue Cli应用程序,它将取代顶级域名中的当前静态网站。
但是,它正在替换的当前站点需要在子文件夹中保持活动(和工作)。理想情况下,当导航到这个子文件夹站点时,我希望完全独立于Vue。
在正常情况下,我可能会使用/static
文件夹,但对于此任务我不能。这两个项目不能以这种方式混合在一起。
理想情景:
这可能吗?目前,如果我这样做,Vue路由器将给我一个404,因为我的路线设置在顶层(通配路线):
const router = new VueRouter({
mode: 'history',
routes: [
{
path: '/',
name: 'AppHome',
component: AppHome
},
{
path: '*',
name: 'AppError',
component: AppError
}
]
})
我基本上只想允许链接到服务器上的子文件夹而不涉及Vue Cli /路由器。
非常感谢。谢谢。
答案 0 :(得分:2)
您可能已将网络服务器设置为将https://example.com/ *的每个请求路由到https://example.com。这是必要的,让vue路由器处理路由,而不必在每个URL(https://example.com/#/my-page)中放置主题标签。
为了让您的网络服务器在向https://example.com/old-site发出请求时返回旧网站,您必须配置您的网络服务器,以便它返回该文件夹,而不是像您想要的那样提供https://example.com与其他所有要求。如何执行此操作取决于您使用的网络服务器,但我确定您能够解决这个问题。
答案 1 :(得分:2)
在我看来,这与VueJS无关,但与您的网络服务器(Apache / Nginx)无关。
如果是nginx,您只需添加新位置
即可location /old-site {
root /old-site-dir/;
try_files $uri $uri/ =404;
}