仅为“ /”路由提供404(Nuxt JS)-共享主机部署

时间:2018-12-08 20:26:41

标签: vue.js vuejs2 vue-router nuxt.js vue-server-renderer

我正在尝试使用 @ nuxt / pwa starter-template 设置 Nuxt 应用,以在共享主机上进行服务器端渲染。 但是我的Nuxt应用程序正在“ http://localhost:50000”上运行。我正在尝试通过.htaccess中的重写规则来显示“ http://example.com”中正在运行的应用。

尝试访问“ http://example.com”时显示404。如果没有“索引(/)”路由,则其他所有路由都可以。即使从任何其他路径进入“索引(/)”路径也都可以。尝试直接加载“ /”路由时仅显示404。

例如:

http://example.com不起作用

http://example.com/contact工作正常

*** Github上已经存在与我完全相同的问题:https://github.com/nuxt/nuxt.js/issues/2625 但是我从那里找不到任何帮助。

这是我正在使用的 .htaccess 文件。 -

Options +FollowSymLinks 
<IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule ^(.*) http://127.0.0.1:50000/$1 [P,L]

</IfModule>

有人可以帮我解决这个问题吗???预先感谢!

3 个答案:

答案 0 :(得分:0)

这个答案似乎有点晚了,但是我只在github上找到了它,并且想帮助任何发现相同问题的人。

此htaccess对我有用,在我刷新并导航正常时,它将正常加载index.vue页面。

用您的域替换我的域。

RewriteEngine on

# Forcing all incoming requests to HTTPS. 
# HTTPS is required for PWA. If you don't want PWA feature you can deisable next 2 lines

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

答案 1 :(得分:0)

使用我的.htaccess代码:

RewriteRule ^index.html.var$ http://127.0.0.1:3000/ [P]
RewriteRule ^(.*) http://127.0.0.1:3000/$1 [P]

这个问题也困扰了我很长时间。 我添加了_index.vue动态vue-router,并且

validate ({params}) {
  console.log (params.index);
}

终端输出“ index.html.var”。 所以我在想,当我们访问主页时,Apache发送了一个代理,但是nuxt.js收到的请求URL不是“ /”而是“ index.html.var”。

答案 2 :(得分:-1)

RewriteEngine on

强制所有传入请求到HTTPS。

PWA需要HTTPS。如果您不希望使用PWA功能,则可以定义接下来的2行

RewriteCond%{HTTP_HOST} ^ my-domain.com.br $ RewriteRule“(.. 。(jpg | gif | png | svg | js | css | woff2))$”“ http://127.0.0.1:3000/ $ 1” [P,NC] RewriteRule ^(。)“ http://127.0.0.1:3000/ $ 2” [P,L]

为我工作。