我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

nginx

它是nginx核心模块中包含的一条指令。主要可以替换一些指令,提高解析效率。

Nginx的功能是检查文件是否按顺序存在并返回第一个找到的文件或文件夹(尾部斜杠表示文件夹)。如果未找到所有文件或文件夹,将执行内部重定向。到最后一个参数。

需要注意的是,只有最后一个参数可以引起内部重定向,前面的参数只设置内部URI的点。最后一个参数是后备 URI,必须存在,否则会出现内部 500 错误。命名的也可以用在最后一个参数中。与指令不同,如果未命名后备 URI,$args 不会自动保留,如果要保留 $args,则必须显式声明它。

Nginx 配置语法

try_files file ... uri try_files file ... = code

范围

server location

例子

try_files $uri $uri/ /index.php?q=$uri&$args;

描述:按照指定的文件顺序搜索现有文件,并使用第一个找到的文件进行请求处理。搜索路径基于给定的根或别名作为根路径。如果没有给定的文件匹配,则重新请求最后一个参数中给出的 uri,这是新的匹配。如果是格式2,如果最后一个参数= 404,并且没有给定的文件匹配,则将返回404响应代码。 Nginx实例示例一

server { listen 8000; server_name 192.168.119.100; root html; index index.html index.php; location /abc { try_files /4.html /5.html @qwe; } location @qwe { rewrite ^/(.*)$ http://www.haicoder.net; }

检测文件 4.html 和 5.html。如果存在,则正常显示。如果没有,请搜索 @qwe 值。即跳转到页面。

实施例2

location /haicoder/ { try_files $uri /haicoder/default.gif; }

访问时(文件不存在),看到的是.gif图片,URL地址不变。访问时(文件存在),会看到123.png图片,URL地址不变。

也就是说,当目录中的文件不存在时,默认返回.gif。

实例三

location /haicoder/ { try_files $uri =403; }

访问时(文件存在),看到的是123.html的内容,URL地址不变。访问时(文件不存在),会看到403状态,URL地址不会改变。

实施例4

location /haicoder/ { try_files $uri @ab; } location @ab { rewrite ^/(.*)$ https://blog.haicoder.com; }

访问时(文件存在),看到的是123.html的内容,URL地址不变。访问时(文件不存在),URL地址发生变化。

总结:当文件不存在时,会查找@ab值。这时,@ab值跳转就被定义在了。

案件

首先,我们使用vim修改/etc/nginx/conf.d/.conf配置。具体命令如下:

vim /etc/nginx/conf.d/default.conf;

现在,我们配置 url 重写规则。具体配置如下:

server { listen 80; location /haicoder/ { try_files $uri @ab; } location @ab { rewrite ^/(.*)$ https://www.haicoder.net; }}

配置修改完成后如下图:

修改完成后,我们启动nginx。具体命令如下:

nginx

现在,我们使用浏览器访问如下页面:

http://192.168.80.128/haicoder

这时我们会看到自动跳转到页面,如下图:

05_nginx url rewrite.png

我们看到这个时候,我们跳转到。

概括

它是nginx核心模块中包含的一条指令。主要可以替换一些指令,提高解析效率。

Nginx的功能是检查文件是否按顺序存在并返回第一个找到的文件或文件夹(尾部斜杠表示文件夹)。如果未找到所有文件或文件夹,将执行内部重定向。到最后一个参数。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/6863.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线