当前位置:   article > 正文

Vue 路由history模式nginx部署(二级目录)_nginx通过二级路由代理vue项目

nginx通过二级路由代理vue项目

公司常用服务器为apache,最近一个项目需部署到nginx目录,且是在子目录下,即访问链接:http://www.xxx.com/rector/bnu/

apache服务器配置很简单,只需要在index.html同级目录下添加.htaccess文件即可,代码如下:
 

  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^(.*)$ /rector/bnu/index.html [L]

RewriteRule 路径需包含子目录路径

nginx服务器需要修改nginx的配置文件,如果是域名单配置文件则在nginx安装目录nginx/conf/vhost目录下的域名配置文件,一般文件名为 域名.config,如果不是域名单配置文件咋是修改 nginx.conf 文件,配置代码如下:

/rector/bnu 为需要配置的子目录,以实际为准

  1. location /rector/bnu {
  2. try_files $uri $uri/ /rector/bnu/index.html;
  3. }

vue代码修改:

首先是router/index.js文件,base需改为子目录路径:

  1. const router = new VueRouter({
  2. mode: 'history',
  3. // base: process.env.BASE_URL,
  4. base: "/rector/bnu/",
  5. routes
  6. })

vue.config.js文件中定义publicPath(打包后公共资源文件访问路径):

  1. module.exports = {
  2. lintOnSave: false,
  3. devServer: {
  4. proxy: {
  5. '/web': {
  6. target: 'http://yzconsole.360eol.com',
  7. changeOrigin: true,
  8. }
  9. }
  10. },
  11. chainWebpack: config => {
  12. config
  13. .plugin('html')
  14. .tap(args => {
  15. args[0].title = "北京师范大学2022年研究生招生宣传"
  16. return args
  17. })
  18. },
  19. publicPath:"/rector/bnu",
  20. }

嗯,就是这么简单了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/254222
推荐阅读
相关标签
  

闽ICP备14008679号