1、登录shell,vim编辑Nginx配置目录(一般是在/usr/local/nginx/conf/)下的"wordpress.conf",当然如果你像我一样用的是自己写的conf文件,那就改对应的那个重定向配置文件就好。
?
1
vim /usr/local/nginx/conf/wordpress.conf
2、把官方给的那一行加到文件最后面就行了
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
location /blog/ {
if ($host != 'www.jb51.net' ) {
rewrite ^/(.*)$ //www.jb51.net/$1 permanent
}
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php
}
if (!-f $request_filename){
rewrite (.*) /blog/index.php
}
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent
3、:wq保存重启nginx即可
其实你要是懒的话,直接用 "echo >>" 追加就行了= =
PS:据说 nginx不会自动在请求的最后加上一个斜线,不会自动判断请求的是一个文件还是一个目录。网上搜索 nginx 斜线,都会提到需要在请求的最后加上这个斜杠。
网上大部资料是这样写的 :
在nginx\conf\vhost.conf中的 location / {}的index index.html后面加上
?
1
2
3
if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent
}
但如果你的网址后面带了端口的话,那么转向时还是会出现403错误。
即 $host 变量把端口弄没了,改成 $http_host 变量即可
改成如下写法即解决了所有问题
?
1
2
3
if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$http_host/$1$2/ permanent
}
你把这个URL对应的urls.py里面那条映射定义语句贴上来。估计你在那个地方加了斜杠。正常情况下,浏览器首先查找/page这样的URL,如果找不到,再重定向到/page/这个URL.热门频道首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
Young丶
关注
Nginx 配置中一个不起眼字符 “/“ 的巨大作用 原创
2021-10-20 15:22:53
Young丶
码龄9年
关注
图片
Nginx作为一个轻量级的,高性能的web服务软件,因其占有内存少,并发能力强的特点,而广受欢迎和使用。国内很多大型互联网公司也对Nginx很是青睐。像BAT(百度,阿里和腾讯),TMD(头条,美团和滴滴)等等。使用过Nginx的同学都知道,你只需要按需求准确的更改好配置启动,那么就可以优雅的访问它了。所以说Nginx对配置文件的很是看中呢,这就要求我们更改配置文件时一定要再三确认,要不然可能因为疏忽而引发惨案呢?真实案例,就因为在配置时,少写了一个字符“/”,就造成访问不通报错,因而接到投诉。那么是怎么引起的呢?原因就是:Nginx在配置proxy_pass代理转接时,少些“/”字符造成的。有同学就有疑问,加不加“/”,区别真的那么大吗?我们带着这个疑问,来探究下这个问题。
location目录匹配详解
nginx每个location都是一个匹配目录,nginx的策略是:访问请求来时,会对访问地址进行解析,从上到下逐个匹配,匹配上就执行对应location大括号中的策略,并根据策略对请求作出相应。
依访问地址:http://www.wandouduoduo.com/wddd/index.html为例,nginx配置如下:
location /wddd/ {
proxy_connect_timeout 18000##修改成半个小时
proxy_send_timeout 18000
proxy_read_timeout 18000
proxy_pass http://127.0.0.1:8080
}
1
2
3
4
5
6
1
2
3
4
5
6
那访问时就会匹配这个location,从而把请求代理转发到本机的8080Tomcat服务中,Tomcat相应后,信息原路返回。总结:location如果没有“/”时,请求就可以模糊匹配以字符串开头的所有字符串,而有“/”时,只能精确匹配字符本身。
下面举个例子说明:
配置location /wandou可以匹配/wandoudouduo请求,也可以匹配/wandou*/duoduo等等,只要以wandou开头的目录都可以匹配到。而location /wandou/必须精确匹配/wandou/这个目录的请求,不能匹配/wandouduoduo/或/wandou*/duoduo等请求。
proxy_pass有无“/”的四种区别探究
访问地址都是以:http://www.wandouduoduo.com/wddd/index.html 为例。请求都匹配目录/wddd/
第一种:加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080/
}
1
2
3
1
2
3
测试结果,请求被代理跳转到:http://127.0.0.1:8080/index.html
第二种: 不加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080
}
1
2
3
1
2
3
测试结果,请求被代理跳转到:http://127.0.0.1:8080/wddd/index.html
第三种: 增加目录加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080/sun/
}
1
2
3
1
2
3
测试结果,请求被代理跳转到:http://127.0.0.1:8080/sun/index.html
第四种:增加目录不加"/"
location /wddd/ {
proxy_pass http://127.0.0.1:8080/sun
}
1
2
3
1
2
3
测试结果,请求被代理跳转到:http://127.0.0.1:8080/sunindex.html
总结
location目录后加"/",只能匹配目录,不加“/”不仅可以匹配目录还对目录进行模糊匹配。而proxy_pass无论加不加“/”,代理跳转地址都直接拼接。
为了加深大家印象可以用下面的配置实验测试下:
server {
listen 80
server_name localhost
# http://localhost/wddd01/xxx ->http://localhost:8080/wddd01/xxx
location /wddd01/ {
proxy_pass http://localhost:8080
}
# http://localhost/wddd02/xxx ->http://localhost:8080/xxx
location /wddd02/ {
proxy_pass http://localhost:8080/
}
# http://localhost/wddd03/xxx ->http://localhost:8080/wddd03*/xxx
location /wddd03 {
proxy_pass http://localhost:8080
}
# http://localhost/wddd04/xxx ->http://localhost:8080//xxx,请注意这里的双斜线,好好分析一下。
location /wddd04 {
proxy_pass http://localhost:8080/
}
# http://localhost/wddd05/xxx ->http://localhost:8080/hahaxxx,请注意这里的haha和xxx之间没有斜杠,分析一下原因。
location /wddd05/ {
proxy_pass http://localhost:8080/haha
}
# http://localhost/api6/xxx ->http://localhost:8080/haha/xxx
location /wddd06/ {
proxy_pass http://localhost:8080/haha/
}
# http://localhost/wddd07/xxx ->http://localhost:8080/haha/xxx
location /wddd07 {
proxy_pass http://localhost:8080/haha
}
# http://localhost/wddd08/xxx ->http://localhost:8080/haha//xxx,请注意这里的双斜杠。
location /wddd08 {
proxy_pass http://localhost:8080/haha/
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
打开CSDN APP,看更多技术内容
【nginx省略.html后缀的配置】配置Nginx上的静态网页在访问的时没有htm...
配置Nginx上的静态网页在访问的时没有html后缀_小李白给了的博客-CSDN博客_nginx不带后缀访问 location / { # 【兼容】自动省略.html的页面【比如:zh/app.html】可以直接【zh/app】访问! if (!-e $request_filename){ rewrite ...
继续访问
nginx Linux环境使用命令整理_nginx命令linux_smileNicky的博客-CSDN博...
第一种:先使用前面介绍的ps命令查看nginx的master process进程pid,然后kill -QUIT [pid]或者kill -HUP [pid],接着重启一下 /user/nginx/nginx-1.14.0/sbin/nginx -c /user/nginx/nginx-1.14.0/conf/nginx.conf 1 第二种:直接...
继续访问
nginx配置文件中斜杠/的6种含义
nginx配置文件中斜杠/的6种含义 nginx配置proxy_pass时,/的6种含义+没有/的含义 nginx配置proxy_pass时,斜杠的6种含义,不写斜杠/的含义
最新发布 nginx去除目录最后斜杠
去除目录最后一个斜杠?目录最后加上斜杠?斜杠有力量~~
继续访问
nginx 省略index.php,nginx配置thinkphp项目(nginx下去掉index.php)_保...
error_page 404 403 500 502 503 504 /404.htmllocation = /404.html { root /} location ~ \.php$ { fastcgi_pass 127.0.0.1:9000fastcgi_index index.phpfastcgi_split_path_info ^((?U).+\.php)(/?.+)...
继续访问
nginx配置伪静态 ,省略index.php_517号刺猬的博客
Nginx URL重写(rewrite)配置及信息详解 : https://www.cnblogs.com/czlun/articles/7010604.html-e $request_filename + nginx内置变量 : https://www.cnblogs.com/infy/p/8550282.html去掉index.php: https://blog.csdn.net/...
继续访问
nginx配置 -- 让匹配路径不作为文件目录的一部分
转自: https://blog.csdn.net/u011510825/article/details/50531864nginx指定文件路径有两种方式root和alias,ot与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。[root]语法:root path默认值:root html配置段:http、server、l...
继续访问
nginx反向代理去除目录层级转发
项目场景: 新系统上线,由于生产环境域名有限,分配域名时添加一层路径用于F5请求拦截分发。 使用中间件: web: Nginx ---->主要用于请求转发,不做负载均衡策略。 应用:tomcat-9.0.36 --->处理业务逻辑 问题描述: nginx 发送ajax请求时无法正确通讯 设定线上访问路径为: https://dev.test.com/cpp-test-project/page/index.html 上线时实际访问路径为: https://dev.test.co.
继续访问
nginx环境下laravel框架URL省略输入index.php的配置
laravel框架在路由设置里的web.php文件新增一个路由(如下图1),如果nginx里没有做任何配置,那么在访问新增路由时。url地址需要携带index.php+新增的路由(既:http://www.laraveldev.com/index.php/goods) ...
继续访问
nginx_诺坎普第一球探的博客
nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆...
继续访问
[Nginx]目录自动添加“/”
本文为笔者学习笔记,参考《Nginx高性能Web服务器详解》 自动为请求的URL末尾添加“/” location ^~ /vote { if (-d $request_filename) { rewrite ^/(.*)([^/])$ https://$server_name/$1$2/ permanet}
继续访问
Nginx详解(一文带你搞懂Nginx)
前言 最近进入了新篇章的学习,Nginx,特写下详细笔记与大家共享。 目录前言一、Nginx是什么?二、Nginx的反向代理(扩展:正向代理)三、Nginx的负载均衡什么是负载均衡?Nginx的动静分离!四、Nginx的安装windows版本下的安装下载启动检查是否安装成功配置监听关闭NginxLinux版本下的安装总结
继续访问
Nginx常用反向代理配置规则_JunyouYH的博客
上述配置便是将my_server服务的根路径下的所有路径代理到nginx地址的/my/路径下。当nginx配置只有一个server时,http://$host:$server_port前缀可以省略。 3. 报文数据替换 使用nginx代理最牛(dan)逼(sui)的情况就是http响应报文内写...
继续访问
nginx知识点整理_istan1ey的博客
nginx知识点整理 配置解析 ngx_http_block ngx_http_core_server ngx_http_optimize_servers instance 配置解析 ngx_event_process_init:遍历connections,初始化listenfd的回调函数,添加事件监听
继续访问
Nginx 去除多斜杠 (//)
某些历史遗留问题,可能链接中有出现双斜杠或者是多斜杠现象,需要去掉多余的只保留1个斜杠。 Nginx直接再server或者是对应的位置加上下面两行配置即可 server { listen 80server_name localhostlocation / { proxy_pass http://nginx-A} //去除多斜杠的配置 merge_
继续访问
nginx中斜杠(/)详解
不知大家日常在nginx配置时,是不是会对是否加斜杠充满疑惑? 配置location、proxy_pass时,加“/”与不加“/”的区别,今天我们通过实 *** 去验证下。 talk is cheap, show me the code!!! 通过nginx代理访问地址:http://127.0.0.1/v1/pt/apply/page location、proxy_pass都不加斜杠 location /v1 { proxy_pass http://127.0.0.1:8899} 实.
继续访问
Nginx 配置“/”的作用
location目录匹配详解 依访问地址:http://www.wandouduoduo.com/wddd/index.html为例,nginx配置如下: location /wddd/ { proxy_connect_timeout 18000##修改成半个小时 proxy_send_timeout 18000proxy_read_timeout 18000proxy_pass http://127.0.0.1:8080} 总结:location如果没有.
继续访问
nginx配置中一个不起眼字符“/“
文章目录nginx配置中一个不起眼字符"/"1.问题2.`location`3.`proxy_pass`4.总结5.案例总结 nginx配置中一个不起眼字符"/" 1.问题 [!DANGER] nginx在配置proxy_pass代理转接和location时,多加少加“/”字符会产生完全不一样的效果。 2.location [!TIP] nginx每个location都是一个匹配目录,nginx的策略是:访问请求来时,会对访问地址进行解析,从上到下逐个匹配,匹配上就执行对应location大括号中的策
继续访问
Nginx 访问子目录时,不加/出现301重定向的问题
现在手上有一个项目,分为前台(ibms)和后台(opc)两部分,使用IP和端口进行访问测试,使用http://192.168.100.10:7000时访问前台,使用http://192.168.100.10:7000/admin访问后台,nginx配置规则如下: server { listen 80server_name localhostlocation / { root /srv/app/ibms
继续访问
Nginx访问二级目录后/(反斜杠)无法访问问题的解决办法
今天,有位wnmp的用户反映,Nginx访问二级目录的时候不加/(反斜杠)无法访问,现在给出解决办法。 我用的是正则表达式自动加/(反斜杠)。 if (-d $request_filename){rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent} 转载于:https...
继续访问
Nginx目录自动加斜线详解
<br />今天配置Nginx时,我设置了一个域名:http://www.yuhongchun027.com,下面有web目录为www;现在的问题就是如果我访问http://www.yuhongchun027.com/www/就可以显示出地址,但如果我访问http://www.yuhongchun027.com/www结果却提示说找不到所需要的页面。哈哈,又开始犯老错了,nginx不会自动在请求的最后加上一个/的,原因是nginx不会自动判断请求的是一个文件还是一个目录,解决方法为:<br />在配置文
继续访问
NGINX处理//(双斜杠)问题
问题引入 最近开发反馈在服务器内读取到的url在一个特定的地方多了一个/,本来应该是http://example.domain.url/servername/appname/dosomething这样的地址,在服务器上收到的地址为http://example.domain.url/servername//appname/dosomething,影响了后续的应用处理。 在应用服务器的前一层恰好是NGINX反向代理。网络硬件截取域名,将http://servername/appname/dosomething丢
继续访问
热门推荐 nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
文章目录前言一、nginx简介1. 什么是 nginx 和可以做什么事情2.Nginx 作为 web 服务器3. 正向代理4. 反向代理5. 动静分离6.动静分离二、Nginx 的安装三、 Nginx 的常用命令和配置文件四、 Nginx 配置实例 1 反向代理五、 Nginx 配置实例 2 负载均衡六、 Nginx 配置实例 3 动静分离七、 Nginx 的高可用集群 前言 一、nginx简介...
继续访问
配置location、proxy_pass的坑
配置location、proxy_pass时,加“/”与不加“/”的区别,今天我们通过实 *** 去验证下。通过nginx代理访问地址:http://127.0.0.1/v1/pt/apply/pagelocation、proxy_pass都不加斜杠1 2 3 location /v1 { proxy_pass http://127.0.0.1:8899} 实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/pagelocation加斜杠,proxy_pass不加斜杠1 2 3
继续访问
Nginx — 配置文件详细解读(一)
Nginx——配置文件详细解读(一) Nginx是一款免费、开源、性能强大且非常流行的服务器,主要有三个功能:Web Server , Reverse Proxy Server , IMAP or POP3 Proxy Server 。Nginx是为了解决互联网业内著名的 “C10K” 问题而生,且因其具有丰富的特性、极其强大的性能、配置简单、工作稳定及资源占用低等特点而闻名于世。
继续访问
通俗理解什么是Nginx
举个例子: 你写了一个项目,前后端分离,前端使用ajax来访问后端API,那么你本地运行你的项目是这么个顺序 启动后端服务 启动前端服务 但是你前端就是一写静态文件(js css html等),怎么运行呢,最直接的办法就是在浏览器打开本地文件 file:///E:/file_share/web/index.html 这样虽说能实现功能但是你的朋友想看你的界面就不能在他电脑上也这么搞, 因为他电脑上没有你的这些前端静态文件, 你想了个办法,用python自带的一个包来运行起来 python -m .
继续访问
Nginx Location作用
一、Nginx location作用 location指令的作用是根据用户请求的URL来执行不同的作用. location语法: location [ = | ~ | ~* | ^~ ] url {......} location [ =|~|~*|^~|@ ] url ...
继续访问
nginx 省略/
nginx
写评论
评论
5
点赞
踩
分享
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)