一、nginx  rewrite标签

rewrite 实现URL的改写主要是实现伪静态

1、  rewrite指令语法

指令语法:rewrite regex replacement[flag]

默认值:none

应用位置:server,location,if

rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement部分内容,结尾是flag标记,下面是一个简单的URL Rewrite跳转

Rewrite ^/(.*)http://www.etiantian.org/$1 permanent

上述rewrite【指令说明:】

rewrite为固定关键字,表示开启一条rewrite匹配规则,regex部分

这是一个正则表达式

【匹配所有】,匹配成功后跳转到http://www.etiantian.org/$1,这是取前面regex部分()里的内容,结尾permanent;表示永久301重定向标记

在以上flag标记中,last和break用来实现URL重写,浏览器地址URL地址不变,但是在服务器端访问的程序及路径发生变化,redirect和permanent用来实现URL跳转,浏览器地址栏会显示跳转后的URL地址

last和break标记的实现功能类似但是二者之间有细微的差别,使用alias指令的时候必须用last标记,使用proxy_pass指令的时候要使用break标记,last标记在本条rewrite规则执行完毕之后,会对其所在的server{...}标签重新发起请求,而break标记则在本条规则匹配完成后终止匹配,不再匹配后面的规则

、配置301跳转的方法如下:

[root@A conf]# vim extra/www.conf
server {
listen ;
server_name www.cnblogs.c; --》老域名
rewrite ^(.*) http://www.cnblogs.co/$1 permanent;
}
server {
listen ;
server_name www.cnblogs.co; --》新域名
location / {
root html/www;
index index.html index.htm;
}
access_log logs/access_www.log main;
}别名状态是200,rewrite状态码是301
区别:
用别名,效率高 但是看不到改过的域名
跳转,可以看到新的域名,但是这是新的跳转,对于pv来说是两次请求 、检查语法,然后重启nginx
、用curl -I 查看是否为301
[root@oldboy extra]# curl -I www.cnblogs.c
HTTP/1.1 Moved Permanently
Server: nginx/1.8.
Date: Sun, Mar :: GMT
Content-Type: text/html
Content-Length:
Connection: keep-alive
Location: http://www.cnblogs.co// [root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.c

301跳转步骤

NginxRewrite的应用

、    可以调整用户浏览的URL ,看起来更规范,合乎开发及产品的需求
(这个rewrite主要是开发的事情,没有要求就不做301跳转)
、 为了让搜索引擎收录网站内容及用户体验更好,企业会将动摇URL地址伪装成静态地址提供服务
、 网站更换新域名后,让旧的域名的访问跳转到新的域名商上,例如:让京东的360buy变成了jd.com
、 根据特殊变量、目录、客户端的信息进行URL跳转等

二、nginx访问认证

可以在官网找到auth basic_module

Http状态码301和302的区别
、什么是301重定向?
301重定向/跳转一般,表示本网页永久性转移到另一个地址。
301是永久性转移(Permanently Moved),SEO常用的招式,会把旧页面的PR等信息转移到新页面;
、什么是302重定向?
302重定向表示临时性转移(Temporarily Moved ),当一个网页URL需要短期变化时使用。
、301重定向与302重定向的区别
301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。
302重定向是临时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的

301和302的区别

打开一个网站需要用户名密码,例如企业网站后台、Mysql客户端phpmyaadmin

auth_basic      提示
语法 auth_basic string|off
默认值 auth_basic off
使用位置http,server,location,limit_except auth_basic_user_file 密码文件
语法 auth_basic_user_file file
默认值-
使用位置:http,server,location,limit_except

用户认证需要注意参数

auth_basic_user_file 参数后接认证密码文件,格式为

#comment
name1:password1
name2:password2:comment
name3:password3

auth_basic_user_file 参数后接认证密码文件,格式为

1、首先安装httpd模块

2、检查

[root@oldboy conf]# which /usr/bin/htpasswd
/usr/bin/htpasswd
[root@oldboy conf]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.-.el6.centos..x86_64

3、配置配置文件

[root@oldboy extra]# cat bbs.conf
server {
listen ;
server_name bbs.cnblogs.co cnblog.co;
location / {
auth_basic "pyrene RZ";
auth_basic_user_file /application/nginx/conf/htpasswd;
root html/bbs;
index index.html index.htm;
}
access_log logs/www_access.log main;
}

这里的配置文件也可以自己设置

location /pyrene/{
auth_basic "pyrene RZ";
auth_basic_user_file /application/nginx/conf/htpasswd;
root html/bbs;
index index.html index.htm;
} }
这样就属于网站后台自己访问的时候需要

4、设置密码文件

[root@oldboy conf]# cd extra/
[root@oldboy extra]# htpasswd -cb /application/nginx/conf/htpasswd pyrene
Adding password for user pyrene
查看密码 这里密码是加密的
[root@oldboy conf]# chmod htpasswd ---给密码文件设置权限
[root@oldboy extra]# cat /application/nginx/conf/htpasswd
pyrene:slT12PdNWhfkc

5、重启

[root@oldboy bbs]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.8//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.8//conf/nginx.conf test is successful
[root@oldboy bbs]# /application/nginx/sbin/nginx -s reload

示例

nginx rewrite标签配置以及用户认证配置的更多相关文章

  1. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  2. SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  3. CentOS 7 安装配置带用户认证的squid代理服务器

    这里只简述搭建一个带用户认证的普通代理 一.安装 安装过程十分简便,只需要安装一下squid,一条命令搞定 yum install squid rpm -qa | grep squid squid-- ...

  4. nginx用户认证配置( Basic HTTP authentication)

    ngx_http_auth_basic_module模块实现让访问着,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但是又想让部分人看到.nginx的http aut ...

  5. Nginx用户认证配置方法详解(域名/目录)

    Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可 Nginx可以为某一个域名单独加用户认证,具体做法如下: ...

  6. 转:Mosquitto用户认证配置

    转自:https://blog.csdn.net/u012377333/article/details/69397124?utm_source=blogxgwz1 前言:基于Mosquitto服务器已 ...

  7. Apache配置 2.用户认证

    1.用户认证用来对某些目录中的网页进行访问控制,当用户访问这些页面的时候需要输入用户名和密码进行认证. 2. 配置: # vim /usr/local/apache2.4/conf/extra/htt ...

  8. nginx用户认证配置( Basic HTTP authentication)及认证原理和实现

    https://blog.csdn.net/guyue35/article/details/53906843

  9. 几个有用的SAP安全配置的用户参数配置列表

    转自http://blog.sina.com.cn/s/blog_4f913cf80100mksj.html Parameter Brief Description login/min_passwor ...

随机推荐

  1. C#CRC16 Modbus 效验算法

    CRC校验(循环冗余校验)小知识 CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗 ...

  2. Linux上部署Java应用+Python3环境搭建

    给了Linux的测试环境,目前需要install JDK, Tomcat,此处记录下小白的操作过程. 1. 查询Linux发行版本,包括内核信息 (1) Linux查询内核信息 $ uname -a ...

  3. vim-colors-config

    在vim中,主题是以插件形式存在.其中系统自带的主题,存放在$VIMRUNTIME/colors文件夹下,以*.vim命名.(注:查看$VIMRUNTIME请在vim中执行 :echo $VIMRUN ...

  4. shiro集成encache

    针对多频次或者几乎不变的大数量的数据,我们可以通过缓存来实现,具体的比如说权限认证,这个,每次操作都需要权限认证,所以,这里添加encache注解.具体的认证过程是: 1,用户第一次访问用户权限信息, ...

  5. Elasticsearch5.3 学习(一):安装、Yii2.0 下载es扩展

    Elasticsearch是一个基于Lucene,提供了一个分布式多用户能力的全文搜索引擎.其他就不多说了,官方文档有详细的介绍. 我自己是在CentOS 7.0安装的 Elasticsearch 是 ...

  6. python selenium2示例 - email发送

    前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的 ...

  7. 嵌入式开发之工具---比开发手册更重要的一个命令 man page

    man http://bbs.chinaunix.net/thread-826490-1-1.html http://read.pudn.com/downloads70/ebook/254107/ch ...

  8. /bin/sh^M:bad interpreter: No such file or directory

    bash脚本:/bin/sh^M:bad interpreter: No such file or directory   dos2unix 实际上就是把文本文件中面的^M删除 用SHELL 写了一个 ...

  9. 删除路径下的文件以及子路径。(范例“E:/www/”)

    /// <summary> /// 删除路径下的文件以及子路径. /// </summary> /// <param name="dir">目标 ...

  10. xcode ERROR ITMS

    1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...