紫影基地

 找回密码
 立即注册
查看: 258|回复: 0

[程序架构] nginx部署前端页面,直接域名访问,而没有后面的/index.html等首页

[复制链接]
阅读字号:

2002

主题

2117

帖子

21万

积分

超级版主

Rank: 8Rank: 8

积分
210303
发表于 2024-4-9 09:16:17 | 显示全部楼层 |阅读模式


     公司官网开发完成后,前端页面通过nginx来访问,前端首页为index.html,现在访问的地址为:域名+/index.html,现在的需求是希望把地址后面的“/index.html”给去掉,直接域名访问首页?

      解决办法:修改nginx的配置文件nginx.conf:

  1. upstream test.com {
  2.          server ip:8084;
  3. }

  4. server {
  5.         listen       80;
  6.         server_name  ip;

  7.         location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff|html|txt|pdf|) {
  8.                         root /home/cw/dist;#所有静态文件直接读取硬盘
  9.                         expires 30d; #缓存30天
  10.         }

  11.          location / {
  12.                         try_files $uri $uri/ /index.html;#防止刷新页面出现404
  13.             if (!-e $request_filename){
  14.                 rewrite ^(.*)$ /index.html last;#重新将rewrite后的地址(/index.html)在server标签中执行
  15.                 proxy_pass     http://test.com;
  16.             }
  17.                         tcp_nodelay     on;
  18.                         proxy_set_header Host            $host;
  19.                         proxy_set_header X-Real-IP       $remote_addr;
  20.         }

  21.         error_page   500 502 503 504  /50x.html;
  22.         location = /50x.html {
  23.                 root   html;
  24.         }
  25. }
复制代码


配置完成后到nginx安装目录下的sbin文件夹下执行:./nginx -s reload,让nginx配置文件生效即可;

try_files刷新后重定向到之前的请求地址;

$request_filename是nginx的内置变量,为当前连接请求的文件路径,由root或alias指令与URI请求生成

!-e $request_filename:

       -e表示只要filename存在则为真,不管filename是什么类型,这里加了!则取反。

rewrite ^(.*)$ /index.html last;

      last表示重新将rewrite后的地址在server标签中执行,也就是执行http://test.com/index/html

这样当配完域名后直接将server_name换成域名,就可以直接输入域名而不用属于域名后面的内容了。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/sinat_35787094/article/details/108349341

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫影基地

GMT+8, 2025-1-12 09:59 , Processed in 0.079793 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表