部署 vue app 后只有主页有效,找不到子页面

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

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

并压缩整个 dist 文件夹以上传到服务器。上传后,我展开了 zip 文件,以便文件位于服务器上。

这对我的主页非常有效,但请检查,任何子页面都返回 404,而在本地主机上无法观察到此问题。

我不明白如何解决这个问题。

我将 vue.config.js

一起使用
module.exports = {
    publicPath: '/'
}

还有子页面的链接看起来不错,但就是不工作。

cao2826 回答:部署 vue app 后只有主页有效,找不到子页面

您在路由器中使用了 history mode,为了使其工作,所有请求都需要返回 index.html

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

由于您使用的是 cPanel,我假设您的服务器使用的是 Apache。

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

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>
本文链接:https://www.f2er.com/6016.html

大家都在问