首页 » SEO优化 » nginxphpexec问题技巧_nginx 运用技巧设备

nginxphpexec问题技巧_nginx 运用技巧设备

访客 2024-11-03 0

扫一扫用手机浏览

文章目录 [+]

nginx中 ,,是什么 如:set $para

Nginx中,set $para ,表示路径中正则表达式匹配的第一个参数。

nginxphpexec问题技巧_nginx 运用技巧设备

以下是一个示例,用以实验$1,$2。

nginxphpexec问题技巧_nginx 运用技巧设备
(图片来自网络侵删)

如:location ~/yxl/(.)/(.) {

set $para1 $1

set $para2 $2

content_by_lua_block {

ngx.say(ngx.var.para1)

ngx.say(ngx.var.para2)

}

}

此时,若访问路径为localhost:8080/yxl/qwe/asd时,则浏览器会输出

qwe

asd

alias正则表达式

location ~ /mytest/(.) {

alias /usr/local/nginx/html/$1;

}

2.配置403缺点页

error_page 403 http://www.hk515.com/403.html;

3.nginx做非80端口转发

server {

listen 80;

server_name localhost;

location / {

proxy_pass http://147.16.24.175:9500 ;

proxy_set_header Host $host:80;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Via "nginx";

}

}

但是如果nginx的监听端口不是默认的80端口,改为其他端口如81端口。

后端做事器中request.getServerPort()无法得到精确的端口,返回的仍旧是80;

在response.sendRedirect()时,客户端可能无法得到精确的重定向url。

精确的配置方法为

在 $host之后加上端口号,如$host:83

server {

listen 83;

server_name localhost;

location / {

proxy_pass http://147.16.24.175:9500 ;

proxy_set_header Host $host:83;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Via "nginx";

}

}

4.is_matched

location /reportDetail {

set $is_matched 0;

if ( $args ~ ^aid=646$ ){

set $is_matched 1;

}

if ($is_matched = 0) {

set $args "aid=646";

rewrite ^/(.) /reportDetail redirect;

break;

}

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-NginX-Proxy true;

proxy_pass http://idata;

}

5.Nginx下301重定向域名

在网站培植中须要网页重定向的情形很多:如网页目录构造变动,网页重命名、网页的扩展名改变、网站域名改变等

第一种情形:访问a站定向到b站

server {

server_name www.a.com ;

rewrite ^(.) http://www.b.com/$1 permanent;

}

第二种情形:不是访问a站的全部重定向到指定页面

server {

server_name www.a.com;

if ($host != ‘a.com' )

{

rewrite ^/(.)$ http://www.b.com/$1 permanent;

}

}

第三种带WWW或者不带WWW之间的跳转

server

{

server_name c.net

rewrite ^/(.)$ http://www.c.net/$1 permanent;

}

server

{

listen 80;

server_name www.c.com c.com;

if ($host != ‘www.c.com' ) {

rewrite ^/(.)$ http://www.c.com/$1 permanent;

}

这样便是用户直接访问c.com直接跳转的www.c.com。
即让不带www的域名跳转到带www的域名

6.nginx rewrite 实现二级域名跳转

当访问http://abc.jbxue.com跳转到http://www.jbxue.com/test/abc/

方法一:

这种方法浏览器地址会变www.jbxue.com/test/abc

实现访问如下:

server {

listen 80;

server_name www.jbxue.com;

location / {

root /data/test;

index index.html;

}

}

server {

listen 80;

server_name .jbxue.com;

if ( $http_host ~ "^(.)\.jbxue\.com$") {

set $domain $1;

rewrite ^(.) http://www.jbxue.com/test/$domain/ break;

}

}

方法二、

当访问http://abc.jbxue.com跳转到http://www.jbxue.com/test/abc/

server {

listen 80;

server_name .jbxue.com;

root /usr/local/www;

#这是里可以加多个目录,如果不加目录,会无法访问到abc.jbxue.com/目录下的文件,如图片目录/images

location ~ ^/(jbxue|images|styles)/

{

proxy_redirect off;

proxy_set_header Host www.jbxue.com;

proxy_pass http://192.168.1.2:8080;

}

location / {

set $domain default;

if ( $http_host ~ "^(.)\.jbxue\.com$") {

set $domain $1;

}

rewrite ^/(.) /test/$domain/$1 last;

}

access_log off;

}

7.$http_name

匹配任意要求头字段; 变量名中的后半部分“name”可以更换成任意要求头字段,如在配置文件中须要获取http要求头:“Accept-Language”,那么将“-”更换为下划线,大写字母更换为小写,形如:$http_accept_language即可。

1.根据 要求头信息判断转向(nginx配置)

a.要求内容大于20的

location / {

if ( $content_length > 20 )

{

proxy_pass http://backend_a;

}

}

b.如果要求类型为 User

RequestType: User

location / {

if ( $http_requesttype = "User" )

{

proxy_pass http://backend_a;

}

}

8.谢绝访问

server {

listen 80;

server_name kxcdr.dl.gxpan.cn;

root /data1/kxcdr/;

index index.php index.html index.htm;

access_log /data/log/nginx/kxcdr/kxcdr.dl.gxpan.cn.access.log;

error_log /data/log/nginx/kxcdr/kxcdr.dl.gxpan.cn.error.log;

# error_page 404 /index.html;

# error_page 500 502 503 504 /index.html;

location / {

if (!-f $request_filename){

rewrite ^.$ /index.php last;

}

}

}

当访问无匹配文件时,跳转到 /index.php,文件不存在,即涌现 500缺点

last 301缺点

9.#nginx 日志切割 logroate

a.宿主机支配

apt-get update

apt-get install -y logrotate

b./etc/logrotate.d/nginx

c.手动实行测试

logrotate -f /etc/logrotate.d/nginx

d.重载nginx

docker exec nginx nginx -s reload

标签:

相关文章

今日头条算法岗三面算法工程师的面试之路

大数据和人工智能技术逐渐成为各行各业的热门话题。今日头条作为中国领先的资讯平台,其算法岗位一直是求职者争相竞逐的焦点。本文将针对今...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法如何打造个化内容推荐

在移动互联网时代,信息爆炸已成为常态。如何在海量信息中找到自己感兴趣的内容,成为了一个亟待解决的问题。今日头条作为一款备受瞩目的新...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法推荐其弊端与反思

算法推荐已经成为各大平台的核心竞争力。今日头条作为国内领先的资讯平台,凭借其强大的算法推荐系统,吸引了大量用户。在享受算法带来的便...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法思维导图信息推荐的奥秘

信息传播速度越来越快,用户对信息的需求也越来越多样化。今日头条作为一款备受关注的新闻资讯平台,其背后的算法推荐机制一直是业界关注的...

SEO优化 2025-01-31 阅读1 评论0