Vue.js 在Vue单页应用程序中,如何防止刷新时出现404
我的单页Vue应用程序正在My_domain.com/My_app/上运行,但当我在任何地方刷新时,我会得到一个404/未找到(不在我的本地开发环境中)。我已经根据文档设置了一个.htaccess文件,我的router&vue.config.js文件是根据我对如何防止这种情况的理解配置的,但我仍然得到了404。有人能解释一下吗?(这都是根据&Vue.js文档) my vue.config.js(相关摘录):Vue.js 在Vue单页应用程序中,如何防止刷新时出现404,vue.js,vue-router,Vue.js,Vue Router,我的单页Vue应用程序正在My_domain.com/My_app/上运行,但当我在任何地方刷新时,我会得到一个404/未找到(不在我的本地开发环境中)。我已经根据文档设置了一个.htaccess文件,我的router&vue.config.js文件是根据我对如何防止这种情况的理解配置的,但我仍然得到了404。有人能解释一下吗?(这都是根据&Vue.js文档) my vue.config.js(相关摘录): module.exports={ publicPath:process.env.NODE
module.exports={
publicPath:process.env.NODE_env==='production'?'/my_app/':'/',
//[等]
routes.js(相关摘录):
导出默认新路由器({
模式:“历史”,
base:process.env.base_URL,//base:“/my_app/”,也可以是NG
路线:[
{
路径:'*',
重定向:'/index.html'
},
{
路径:“/”,
重定向:'/index.html'
},
//[剪下…我的命名路线]
//我也试着搬家。。。
{
路径:'*',
重定向:'/index.html'
},
//…直到我的路线的尽头
]
.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my_app/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
重新启动发动机
重写基本/我的应用程序/
重写规则^index\.html$-[L]
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.html[L]
多谢各位
威士忌T.您需要在最终的
重写规则
中使用相对于重写基
的路径,即
RewriteRule . index.html [L]
现在一个更好的选择是使用。你所需要的就是
FallbackResource /my_app/index.html
以及相应的
索引
覆盖,您可能已经覆盖了这些索引。谢谢您,菲尔!