node.js - 找不到页面 "/"路由

标签 node.js .htaccess vue.js vue-router nuxt.js

我正在尝试使用 Nuxt 设置 VueJS 应用程序以进行服务器端渲染。然而,在部署到我的服务器后,index.vue 返回 404 页面未找到错误。

在我的开发机器上运行时不会发生这种情况,即使在我的服务器上以开发模式运行时仍然会发生。

所有其他路由都可以工作,并且从应用程序本身内部获取索引路由也可以正常工作。它只是在刷新时不加载。例如:

http://myapp.com/ 不工作

http://myapp.com/login 工作正常

我的页面文件夹目前看起来像这样:

- pages
-- index.vue
-- login.vue

我的 nuxt.config 文件中没有任何特别的设置,并且与 Auth0 example 中描述的设置几乎相同

在我的服务器上,我使用命令 pm2 start npm --name "my-app"-- start 运行 nuxt 运行正常,没有任何错误,我有以下 .htaccess 配置:

RewriteCond %{HTTP_HOST} ^my-app\.com$ [OR]
RewriteRule ^(.*) "http\:\/\/127\.0\.0\.1\:3000\/$1" [P,L]

这是我得到的错误屏幕:

enter image description here

目前页面本身非常基础,它确实包含更多内容,但我已将其缩减为以下内容以尝试调试此问题:

<template>
    <v-container grid-list-md>
       <v-layout row wrap>
           <h1>Test index, trying to fix the 404</h1>
           <h2>Hello, {{ loggedUser ? loggedUser : 'friend' }}!</h2>
       </v-layout>
   </v-container>
</template>

<script>
 import { mapGetters } from 'vuex'

 export default {
   computed: mapGetters([
     'isAuthenticated',
     'loggedUser'
   ])
 }
</script>

最佳答案

我似乎已经设法解决了这个问题。但是,我不完全确定修复涉及修改我的 .htaccess 的原因。我开始使用这些设置并最终得到了以下效果很好的设置(至少现在是这样)。

RewriteCond %{HTTP_HOST} ^my-app\.com$
RewriteRule "(.*\.(jpg|gif|png|svg|js|css))$" "http://127.0.0.1:3000/$1" [P,NC]
RewriteRule ^(.*) "http\:\/\/127\.0\.0\.1\:3000\/$2" [P,L]

jpg|gif 等规则是必需的,因为它们在使用第二条规则时不会加载。

关于node.js - 找不到页面 "/"路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48301321/

相关文章:

javascript - 组件中的Vuejs3 react 数组

javascript - 从服务器加载 pdf 并嵌入 Vue 应用程序

Node.js 动态相对 require 路径

node.js - 是否可以在 lrange 中使用多个键?

.htaccess - Silverstripe mod_rewrite 问题(我认为)

javascript - 使用 .htaccess 的登录页面

javascript - 在vuejs中显示相关表数据

node.js - postman 上的 POST 请求未完成

javascript - 如何使用 Passport.js 将数据从 React 客户端传递到 Oauth2.0 Google 策略流程

wordpress - WordPress 多站点上的 SSL - 仅一个站点