何为地址重写,域名如何进行重定向?

地址重写,获取一个来访的URL请求,然后改写成服务器可以处理的另一个URL的过程

功能:www.baidu.com------>https://www.baidu.com

优点:缩短URL,隐藏实际路径,提高安全性;

易于用户记忆和键入;易于被搜索引擎收录

常见网站应用场景:

当网站文件移动或文件目录名称发现改变,出于SEO需要,你需要保持旧的URL

网站改版了,网站导航和链接发生变化,为了继续持有原链接带来的流量,需要保持旧的URL

rewrite语法:rewrite 旧地址(正则regex)  新地址(跳转后的URL)【选项flag】

if (条件){...}

[选项flag]:

last:停止执行其他重写规则,根据URL继续搜索其他location,地址栏不改变

break:停止执行其他重写规则,完成本次请求

redirect:302临时重定向,地址栏改变,爬虫不更新URL

permament:301永久重定向,地址栏改变,爬虫更新URL

正则表达式匹配模式

区分大小写匹配:~

不区分大小写匹配:~*

区分大小写不匹配:!~

不区分大小写不匹配:!~*

判断文件是否存在:-f

判断目录是否存在:-d

判断文件是否可执行:-x

判断文件、目录、连接是否存在:-e

页面跳转:访问a.html----->自动跳转到b.html   /usr/local/nginx/conf/nginx.conf

server {listen 80

server_name localhost;

location / {root html;

index index.html index.htm;

rewrite /a.html /b.html  redirect;}}   //选项redirect可有可无,区别为有选项时地址栏改变,不使用此选项则地址栏不变

服务端Proxy  # echo "BB" > /usr/local/nginx/html/b.html

# /usr/local/nginx/sbin/nginx  -s  reload

客户端client  # firefox http://192.168.4.25/a.html

网站跳转:访问192.168.4.5跳转到www.tmooc.cn   /usr/local/nginx/conf/nginx.conf

注:写在location内对根文件夹生效,写在location外对所有文件生效

seerver {listen 80;

server _ name localhost;

rewrite ^/ http:www.tmooc.cn;}             //^/也可写成^/.*,模糊匹配

location / {root html;

index  index.html index.htm;}}

服务端Proxy   # /usr/local/nginx/sbin/nginx  -s  reload

客户端client  # firefox http://192.168.4.25

附加:访问旧的网站/下面子页面,跳转到新的网站/下相同页面

rewrite ^/(.*) http://www.jd.com/$1;     //(.*) 保留和复制;$1在nginx代表粘贴

/usr/local/nginx/conf/nginx.conf

server {listen       80;

server_name  localhost;

rewrite ^/(.*) http://www.tmooc.cn/$1;            //在location外部

location / {root   html;

index  index.html index.htm;}}

服务端Proxy   # /usr/local/nginx/sbin/nginx  -s  reload

客户端client # firefox  http://192.168.4.5

www.tarena.com--->bbs.tarena.com    /usr/local/nginx/conf/nginx.conf

seerver {listen 80;

server _ name www.tarena.com;

location / {root html;

index index.html index.htm;

rewrite ^/(.*) http://bbs.tarena.com/$1;}}   //在location内部

*.jpg或*.gif ----> logo.png        /usr/local/nginx/conf/nginx.conf

location / {root html;

index index.html index.htm;

rewrite \.(gif|jpg)$ /logo.png;}

访问不同浏览器的相同链接返回不同的页面     /usr/local/nginx/conf/nginx.conf

注:if($http_user_agent ~*  浏览器类型(firefox/uc/.....)){

rewrite  ^/(.*)   /浏览器类型文件夹/文件;}

写在location内是死循环(报错http500),写在location外是正常

在服务端Proxy创建网页目录以及对应的页面文件:

# echo "I am Normal page" > /usr/local/nginx/html/test.html  //正常页面

# mkdir  -p  /usr/local/nginx/html/curl/

# echo "I am is curl page" > /usr/local/nginx/html/curl/test.html

# cp /usr/share/backgrounds/gnome/Road.jpg > /usr/local/nginx/curl/test.jpg

修改配置文件

seerver {listen 80;

server _ name www.tarena.com;

location / {root html;

index index.html index.htm;}

if ($http_user_agent ~* curl) {                   //识别客户端curl浏览器

rewrite ^/(.*) /curl/$1 break;}}

服务端Proxy   # /usr/local/nginx/sbin/nginx  -s  reload

客户端client # firefox  http://192.168.4.5/test.html

# curl     http://192.168.4.5/test.html

# curl     http://192.168.4.5/test.jsp

访问资源不存在时,重定向到指定页面       /usr/local/nginx/conf/nginx.conf

注:if(!-e  $request_filename){

rewrite  ^/  http://域名/文件;}

seerver {listen 80;

server _ name www.tarena.com;

location / {root html;

index index.html index.htm;}

if(! -e $request_filename){

rewrite ^/http://www.tarena.com/none.html;}}

服务端Proxy   # /usr/local/nginx/sbin/nginx  -s  reload

客户端client # firefox  http://192.168.4.5/a.mp4

你也许会喜欢如下的文章?

(责任编辑:365天天网)

html中如何重定向域名,域名如何进行重定向相关推荐

  1. 在Windows Azure中使用自己的域名

    请参考:http://blog.smarx.com/posts/custom-domain-names-in-windows-azure 本文是对这篇文章部分解释和补充. 并请记住,此博客总是能给你在 ...

  2. php重定向在header头加参数,php的header重定向的域名参数后边可以加路由吗?

    结果为: 如果域名后边不添加admin参数的话是可以正常重定向的! 它会重定向到网站首页,我是想让它重定向到后台登入页面,所以才添加admin参数. 回复内容: 结果为: 如果域名后边不添加admin ...

  3. 301重定向解决域名被墙教程

    一.域名被墙的原因是什么? 假如您的域名网站存在非法信息多,敏感,又不整改,会直接被G.F.W(中国长城防火墙)墙掉,就是通常所说的被封锁.被屏蔽.被和谐,结果就是访问域名是打不开的,但是解析是正常的 ...

  4. php 将内容中的图片的域名,php给编辑器中的图片地址添加域名

    传统的PC管理后台一般保存的都是图片路径,随着移动端APP的流行,很多平台需要增加API接口.这时发现图片路径并不能被远程读取,下面提供图片路径转换为URL地址的方法:/** * 替换fckedit中 ...

  5. 1月第4周中美五大顶级域名总量涨幅相近 均有5.4万个

    IDC评述网(idcps.com)02月04日报道:据WebHosting.info公布的最新数据显示,在1月第4周,中国五大顶级域名总量突破930万,达到9,346,707个,净增54,613个,涨 ...

  6. 如何在邮件系统中使用自己的域名?

    如何在邮件系统中使用自己的域名? 主要分为以下两种情况: 1.MX记录已经存在: 如果MX记录已经存在,并且已经检查出是在某一个域名服务器上,您需要做的工作就是与您的域名服务商或该域名服务器的管理人员 ...

  7. linux暂时不能域名解析,Kali Linux中暂时不能解析域名

    Kali Linux中暂时不能解析域名 环境:kali linux 这个问题是再用apt install命令安装软件时发现的 用ping www.xxxxxxxx.com 再次确认无法解析域名 参考: ...

  8. 域名服务器中存放主机的什么位置,域名服务器中存放主机的域名

    域名服务器中存放主机的域名 内容精选 换一换 本文档重点介绍在CCE容器中如何配置域名解析.在创建相应的后端工作负载(Deployment或ReplicaSet),以及在需要访问它的任何工作负载之前创 ...

  9. 在GitHub中绑定自己的域名,并使用https访问

    GitHub是一个知名的软件项目托管平台及开源协作社区,我们在上面找到各种开源软件源码,也可以从中大致看出目前较为主流.热门的软件及技术.对技术人员来说,这是一个庞大的资料库,也是一个重要的学习平台. ...

  10. Linux中每次都懵圈的错误重定向

    每次都懵圈的错误重定向 文章目录 每次都懵圈的错误重定向 一.描述符说明 二.实验阶段 初始化 输出重定向 错误重定向 同时输出和错误重定向 三.常用的重定向 四.参考 一.描述符说明 在Linux系 ...

最新文章

  1. UITextView左边距为0
  2. BiliBili 第三方 Android 客户端应用源码
  3. 2020-12-5(操作系统---设备管理)
  4. 系统页面升级系统中_中交出行通勤班线系统全新升级!页面亮点功能说明
  5. 乔布斯诞辰64周年 库克发文纪念:我们每一天都怀念他
  6. java显示毫秒改成分钟_【转】java获取当前年、月、日 、小时 、分钟、 秒、 毫秒...
  7. weblogic 调优参数
  8. python从入门到放弃-掌握这个学习方法,让 Python 不再从入门到放弃
  9. Win10右键添加notepad++
  10. 用双网卡实现跨网段访问(转载)
  11. 计算机网络通信过程问题解析
  12. win7 NVMe驱动 SSD固态硬盘 补丁 免重装 DISM++ Windows6.1-KB3087873-v2-x64.msu
  13. a0图框标题栏尺寸_a0图纸尺寸(a0图纸标题栏尺寸标准国标)
  14. unity 2d文字跟随主角移动_用Unity制作GalGame/视觉小说游戏的模型素材与插件推荐...
  15. Mac有些网址打不开问题解决办法
  16. android 自动化测试 百度,Android 自动化测试框架-百度cafe
  17. javascript 学习
  18. 率土之滨服务器维修,率土之滨征服赛季合服与转服功能详解
  19. 美团和滴滴,跨领域的竞争
  20. 堪称货拉拉混合云数据库建设史,一场DBA团队的逆袭之战

热门文章

  1. 前端知识之标签的使用一
  2. 26个英文字母是谁发明的?
  3. 【数据标准】人力资源域的数据治理及标准化建设思路
  4. 云南省2021年高考成绩查询时间,2021年云南高考成绩查询时间安排 什么时候出分...
  5. 倒数日APP如何添加到OPPO手机桌面上显示
  6. 小米4硬改教程_小米手环3系列更换表盘教程
  7. html点击图片播放swf多媒体文件
  8. 45、基于51单片机智能台灯红外坐姿定时提醒人体检测光照系统设计
  9. EtherCAT的实现和应用 - 从站驱动和应用
  10. HTML5 video标签的poster图片如何填充整个标签区域