部署vue app后,只有首页可以工作,没有找到子页面



我已经从cPanel创建了一个子域test.example.com。然后我使用

构建了我的Vue应用程序
npm run build

并压缩整个dist要上传到服务器的文件夹。上传后,我展开了zip文件,所以文件在服务器上。

这对于我的主页来说是完美的,检查,但是,任何子页面返回404,而这个问题在本地主机上是不可观察的。

我不知道如何解决这个问题。

我用

vue.config.js
module.exports = {
publicPath: '/'
}

和子页面的链接看起来很好,但就是不能工作。

你在路由器中使用历史模式,为了使它工作,所有请求都需要返回到index.html

您所需要做的就是向服务器添加一个简单的全面回退路由。如果URL不匹配任何静态资源,它应该服务于你的应用所在的index.html页面。

既然你使用的是cPanel,我就假定你的服务器使用的是Apache。

因此,您需要创建一个.htaccess文件来将所有请求重定向到index.html。您需要在public_html文件夹中创建.htaccess文件(假设应用程序代码位于此文件夹中)。然后添加以下内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

最新更新