vue.js 仅为"/"路由(Nuxt JS)提供404-共享主机部署

nkhmeac6  于 2022-12-04  发布在  Vue.js
关注(0)|答案(4)|浏览(130)

我正在尝试使用**@nuxt/pwa starter-template设置Nuxt**应用程序,以便在共享主机上进行服务器端渲染。但是,我的Nuxt应用程序正在“http://localhost:50000“上运行。我正在尝试通过重写. htaccess中的规则来显示来自“http://example.com“的运行应用程序。
当尝试访问“http://example.com“时,显示404。如果没有“Index(/)”路由,其他所有路由都可以。甚至从其他任何路由进入“Index(/)”路由也可以。仅当尝试直接加载“/”路由时显示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>

有没有人能帮我解决这个问题???提前感谢!

x0fgdtte

x0fgdtte1#

这个答案似乎有点晚了,但我只在github中找到了它,并希望帮助任何发现这个主题有同样问题的人。
这个htaccess对我来说是有效的,当我刷新和导航工作时,它会正常加载index.vue页面。
将my-domain替换为您的域。

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]
eaf3rand

eaf3rand2#

使用我的.htaccess代码:

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

这个问题也困扰我很久了,我加了_index.vue动态vue路由器,

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

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

2nc8po8w

2nc8po8w3#

有点晚了,但如果有人遇到同样的问题,什么修复它为我是禁用DirectoryIndex在.htaccess。

RewriteEngine on

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

wydwbb8l4#

重写引擎已打开

将所有传入请求强制为HTTPS。

PWA需要HTTPS。如果您不需要PWA功能,可以禁用接下来的2行

“my-domain.com.br(..(jpg))的第一次修改|图片|石油天然气|svg语言|日本| CSS |重新写入规则^(.)”重新写入规则
为我工作。

相关问题