最近一直在频繁的更换主机,不为别的只为便宜,毕竟小站长一枚,没有辣么多的money,但是更换腾讯云Nginx主机的时候发现无法将301重定向跟伪静态组合在一起,因为Nginx主机伪静态的规则里面通用字符是用...1表示的而Nginx301重定向尾部参数也是用1表示,这样以来没办法实现 http://www.liyangblog.cn/blog/138.html 跳转到 https://www.talklee.com.../blog/138.html 只能重定向到首页,所以网上的教程一般是无效的,然后只能自己琢磨了。...不经意间发现有个参数可以改变另外的写法,结果添加完成OK,好用了,下面把具体写法跟ReWrite规则献上: if ($host !...-f $request_filename){ rewrite (.*) /index.php; } } 教程如上:重定向的意思就是绑定主机的域名,访问的时候都会重定向到设置好的域名,后面参数依然好用
多个域名绑定到一个网站,发现每个网站都不同啊,还得重定向,。...有两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host): [cc lang="php"] server { server_name www.hangkin.net hangkin.net...hangkin.net; rewrite ^/(.*) http://www.hangkin.net/$1 permanent; } [/cc] 我用的是第一种方法,这两种方法中, permanent是关键,详细说明见nginx...重定 向规则说明。...break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent – 返回永久重定向的HTTP状态301 好了,现在可以检查结果,这里可以看返回的
1、Nginx配置多网站端口复用 (1)配置Nginx端口复用给多个网站,都可以使用80端口去进行访问。...首先需要更改/usr/local/nginx/conf/nginx.conf的配置文件,如下 #user nobody; worker_processes 1; events { worker_connections...2、网站80和443网站重定向 比如你有两个网站,一个是www.liaqi.com另外一个是www.liaqi.cn,www.liaqi.com备案了,但是www.liaqi.cn没有进行备案,那么可以通过...Nginx重定向的方法,把网站的访问给重定向到www.liaqi.com上面去。...permanent; #重写域名至具体网站 rewrite ^(.*) https://liaqi.com permanent; #重写域名至具体网站 } 3、配置80端口重定向到其他端口
但此时有可能出现用户不能直接访问重定向后的URL,就需要Nginx能自动进行重定向,读取新的URL后,通过200返回码返回真正的内容。 本文主要就是研究了怎么配置Nginx以实现这样的功能。...就可以自动请求重定向后的URL了。...0x02 嵌套重定向 但是如果请求重定向后的URL返回的还是30x会怎样呢?按照现在的写法,Nginx并不会继续请求了。这种情况可以通过多次配置error_page来解决。...,成本会增加,性能也不见得会比Nginx好。...因此,对于这种场景,优先考虑通过配置Nginx来解决是最佳方案。
Nginx域名重定向目录概要 更改test.com.conf server { listen 80; server_name test.com test1.com test2.com;...,状态码为301,如果写redirect则为302 Nginx域名重定向 在Nginx里“server_name” 支持跟多个域名;但是Apache“server_name”只能跟一个域名,需要跟多个域名...,需要使用Alisa; 在Nginx的conf配置文件里“server_name ” 设置了多个域名,就会使网站的权重变了,到底需要哪个域名为主站点,所以需要域名重定向 修改配置文件vim /usr/local...^/(.)$ http://test.com/$1 permanent; // ^/(.)$ 正式写法 http://$host/(.*)$ 这段可以直接省略掉的,同时还可以加上一些规则...-s reload [root@hf-01 vhost]# 测试,用test2.com去访问,会看到显示301,给它重定向到了http://test.com/index.html [root@hf-
URL重写是指通过配置conf文件,以让网站的URL中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等。当客户端浏览某个网址时,将其访问导向到另一个网址的技术。...地址转发的速度比地址重定向快。 注意:重定向和反向代理都可以实现Nginx的内容重定向。...~ #如果 '~' 匹配失败时,那么该条件就为true; 4 !~* #如果 '~*' 匹配失败时,那么该条件就为true。...文件匹配 1 -f #如果请求的文件存在,那么该条件为true; 2 !-f #如果该文件的目录存在,该文件不存在,那么返回true。...2 break #本条规则匹配完成后,终止匹配, 不再匹配后面的规则,完成重写指令,浏览器地址栏URL地址不变。
网站配置文件添加即可 #禁止下载以 XXX 后缀的文件 location ~ \.(zip|rar|sql|bak|gz|7z)$ { return ...
如果发现精确匹配,nginx停止搜索其他匹配。 普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。...^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。...最后匹配理带有”~”和”~*”的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。...如果第3条规则产生匹配的话,结果被使用。否则,如同从第2条规则被使用。 例如 location = / { # 只匹配"/".
nginx附件下载规则 #附件下载方式打开 if ($request_filename ~* ^.*?....该规则与防盗链规则同时启用时,不生效! 待寻找解决办法!
常用命令 nginx 启动nginx nginx -v 查看nginx版本 nginx -t 测试配置文件语法正确性 nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止...web服务 nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务 nginx -s reload 重新载入nginx,当配置信息修改需要重新加载配置是使用 taskkill.../fi "imagename eq nginx.EXE" /f window下杀掉所有nginx进程 location 匹配规则 符号 说明 ~ 正则匹配,区分大小写 ~* 正则匹配,不区分大小写...^~ 和无修饰符类似,但是如果有^~,一旦匹配到就终止匹配 = 普通字符匹配,精确匹配 无修饰符,根据前缀匹配 匹配优先级顺序 1、nginx首先检查基于前缀的location匹配(即不包含正则表达式的匹配...location块与请求的URL完全匹配,则立刻使用该location响应请求 3、如果没有找到带有=修饰符的location块匹配,则会继续计算非精确前缀,根据给定的URI找到最长匹配前缀,举个例子,nginx
========================================== 2016年8月30日 记录: linux /var/run/*.pid 文件的作用是记录进程的id号 linux下nginx...xxx/的请求 location ~ 匹配后面正则表达式,区分大小写 location ~* 匹配后面正则表达式,不区分大小写 location ^~ 匹配普通字符并终止 在location /里面 nginx...$' /index.php/$1; nginx反向代理,必须在location /{}里面 proxy_pass http://localhost:5050; proxy_set_header 传递http...头 thinkphp nginx fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info
例如当客户端请求 https://www.nginx-test.com/index.html 时,Nginx 使用本地的静态文件响应,而当客户端请求相同地址的 https://www.nginx-test.com...^~ 表示如果该符号后面的字符是最佳匹配(前缀匹配),采用该规则,不再进行后续的查找。 没有修饰符表示前缀匹配。 ~ 表示该规则是使用正则定义的,区分大小写。...~* 表示该规则是使用正则定义的,不区分大小写。 !~ 表示正则区分大小写不匹配。 !~* 表示正则不区分大小写不匹配。...主要用于内部重定向,不能用来处理正常的请求。...try_files $uri $uri/ @redirectUri } location @redirectUri { # ...do something } 上例中,当尝试访问 url 找不到对应的文件就重定向到我们自定义的命名
如果这个匹配使用 ^~ 前缀,搜索停止; 正则表达式,在配置文件中定义的顺序; 如果第 3 条规则产生匹配的话,结果被使用。否则,使用第 2 条规则的结果。...目标地址处理规则 匹配到uri后,接下来要代理到目标服务地址。...下面是访问localhost的日志, 访问首页一共进行了2次重定向。...^~ /tea/ { root /usr/local/nginx/html/; } 请求:http://test.com/tea/tea1.html 实际访问:/usr/local/nginx...permanent 和 redirect关键字的区别 rewrite … permanent 永久性重定向,请求日志中的状态码为301 rewrite … redirect 临时重定向,请求日志中的状态码为
如果这个匹配使用 ^~ 前缀,搜索停止; 正则表达式,在配置文件中定义的顺序; 如果第 3 条规则产生匹配的话,结果被使用。否则,使用第 2 条规则的结果。...1、反向代理 通常可见的一种使用姿势就是使用 nginx 代理请求,转发到内部的其它 web 服务上 主要通过 prixy_pass 来实现 location ^~ /webs { proxy_pass...http://127.0.0.1:8080/webs; } 上面规则的含义是,将所有以 webs 开头的请求,转发到 8080 端口的 web 服务上。.../webs { proxy_pass http://test.online; proxy_redirect default; } 2、Rewrite 命令 rewrite功能就是,使用nginx...提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。
Rewrite规则学习记录 rewrite是nginx一个特别重要的指令,该指令可以使用正则表达式改写URI。可以指定一个或多个rewrite指令,按顺序匹配。...正则匹配规则 1~ 区分大小写匹配 2~* 不区分大小写匹配 3!~ 和 !~* 区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 1-f和!-f 判断是否存在文件 2-d和!...if指令 1使用范围:server,location 2检查一个条件是否符合。If指令不支持嵌套,不支持多个条件&&和||处理。...return指令 1格式:return code ; 2使用范围:server,location,if; 3结束规则的执行并返回状态码给客户端。...6redirect:返回302临时重定向,一般用于重定向到完整的URL(包含http:部分) 7permanent:返回301永久重定向,一般用于重定向到完整的URL(包含http:部分) 应用实例(
Nginx常用屏蔽规则 前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,目前很大一部分网站均使用了Nginx作为WEB服务器,Nginx虽然非常强大,但默认情况下并不能阻挡恶意访问...在开始之前,希望您已经熟悉Nginx常用命令(如停止、重启等操作)及排查nginx错误日志,以免出现问题不知所措。...如无特殊注明,以下的命令均添加到server段内,修改nginx配置之前务必做好备份,修改完毕后需要重载一次nginx,否则不会生效。...以下规则可以防止一些常规的文件被下载,可根据实际情况增减。 location ~ \....上面大部分规则返回444状态码而不是403,因为444状态码在nginx中有特殊含义。 nginx的444状态是直接由服务器中断连接,不会向客户端再返回任何消息,比返回403更加暴力。
12.8 Nginx用户认证 ---- ? ?...创建虚拟主机配置文件: vim /usr/local/nginx/conf/vhost/test.com.conf 文件内容如下: server { listen 80; server_name...生成完用户密码文件之后,就重新加载配置文件: /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload 使用curl... 12.9 Nginx域名重定向 ---- ?...使用curl访问test2.com,状态码为301,并且重定向的目标域名是test.com就代表成功了: ?
nginx设置301重定向的方法: 修改nginx中对应该网站的配置文件,例如: #www.idc.net.conf #301-START if ($host ~ '^www.idc.net'){ return
1、rewrite语法: 指令语法:rewrite regex replacement[flag]; 默认值:none 应用位置:server、location、if rewrite是实现URL重定向的重要指令...匹配除“\n”之外的所有单个字符 (pattern) 匹配括号内的pattern rewrite 最后一项flag参数: 标记符号 说明 last 本条规则匹配完成后继续向下匹配新的location...URI规则 break 本条规则匹配完成后终止,不在匹配任何规则 redirect 返回302临时重定向 permanent 返回301永久重定向 2、应用场景: 调整用户浏览的URL,看起来规范.../sbin/nginx -t nginx: the configuration file /opt/nginx//conf/nginx.conf syntax is ok nginx: configuration...file /opt/nginx//conf/nginx.conf test is successful 平滑重启: 1 [root@Nginx conf]# ..
Nginx安装: cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz =nginx下载地址(或者直接可以去官网下载.../etc/init.d/functions # Nginx Settings NGINX_SBIN="/usr/local/nginx/sbin/nginx" NGINX_CONF="/usr/local.../nginx/conf/nginx.conf" NGINX_PID="/usr/local/nginx/logs/nginx.pid" RETVAL=0 prog="Nginx" start() {.../conf/htpasswd; } Nginx域名重定向: 更改test.com.conf server { listen 80; server_name test.com test1....rewrite ^/(.*)$ http://test.com/$1 permanent; } } server_name后面支持写多个域名,这里要和httpd的做一个对比 permanent为永久重定向