如何直接访问Vue的路线

问题描述 投票:0回答:1

我创建了我的第一个Vue.js应用。

我想使用的历史模式在我的Vue公司的路由器,所以我不必例如使用hashbang网址localhost:8080/#/login

所以,我将模式设置为历史像这样,它的工作原理:

export default new Router({
    mode: 'history',
    routes: [...]
})

我的路线,如今显示为localhost:8080/login。但是,我不能直接使用此URL访问登录页面,当我刷新当前页面或尝试直接键入路径到浏览器的地址栏敲回车,我得到以下错误:

不能得到/登录

按照Vue documentation,我应该配置我的服务器允许这一点。他们建议,对于我的设置,配置Apache和使用mod_rewrite

所以,我创建了包含以下.htaccess声明的mod_rewrite文件:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
</IfModule>

但我得到了同样的错误,当我尝试直接加载localhost:8080/login

我缺少的东西吗?有人可以帮我弄过这一个行?

我的应用程序的目录结构如下所示:

enter image description here

mod-rewrite vue.js routes single-page-application vue-router
1个回答
0
投票

.htaccess文件是Apache网络服务器的配置文件。 localhost:8080是开发服务器,而不是由Apache的运行,所以.htaccess文件未使用存在。

开发服务器会自动拿起网址。当它没有,最有可能的罪魁祸首是一个基本URL或公共道路设置不正确,或设置为生产变量。例如,如果你将其设置为/app/,你必须访问localhost:8080/app/login到达您的登录页面。由于NODE_ENV环境变量设置,您可以同时仍保持一个自定义的公共路径,生产版本设置为/用于开发服务器公共路径。

© www.soinside.com 2019 - 2024. All rights reserved.