精华内容
下载资源
问答
  • nginx网页跳转

    千次阅读 2020-03-16 19:43:24
    Nginx网页跳转 1、 修改host文件设置nginx虚拟站点 1) 修改host文件 [root@centos01 ~]# cat /etc/hosts 192.168.100.10 www.benet.com www.benet.com.en www.benet.com.zh 2)配置nginx添加虚拟主机 [root@centos...

    Nginx网页跳转

    1、 修改host文件设置nginx虚拟站点
    1) 修改host文件
    [root@centos01 ~]# cat /etc/hosts
    192.168.100.10 www.benet.com www.benet.com.en www.benet.com.zh
    2)配置nginx添加虚拟主机
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    root /code/;
    index index.html;
    }
    }
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com.zh www.benet.com.en;
    location / {
    if ( $http_host ~* “zh”) {
    set l a n g u a g e z h ; r e w r i t e / language zh; rewrite ^/ languagezh;rewrite/ http://www.benet.com/$language redirect;
    }
    if ( $http_host ~* “en”) {
    set l a n g u a g e e n ; r e w r i t e / language en; rewrite ^/ languageen;rewrite/ http://www.benet.com/$language redirect;
    }
    }
    }
    3)创建虚拟站点根目录
    [root@centos01 ~]# mkdir /code/
    4)创建两个虚拟站点根目录
    [root@centos01 ~]# mkdir /code/en/
    [root@centos01 ~]# mkdir /code/zh
    [root@centos01 ~]# echo “en” > /code/en/index.html
    [root@centos01 ~]# echo “zh” > /code/zh/index.html
    2、 当用户用户网址http://www.benet.com/test给用户返回提示
    1) 修改主配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    default_type text/html;
    if ( $request_uri ~* “^/test”) {
    #return 200 “hello!!!”;
    return 302 http://www.accp.com;
    }
    }
    }
    2) 验证www.benet.com/test
    输入test返回helloo
    输入test访问www.accp.com
    3、 地址重写的类型
    1) 重写的类型
    标记 说 明
    last 相当于Apache的[L]标记,表示完成rewrite
    break 本条规则匹配完成即终止,不再匹配后面的任何规则
    redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址,爬虫不会更新url
    permanent 返回301永久重定向,浏览器地址栏会显示跳转后的URL地址,爬虫更新url
    2) 网站根目录写入测试数据
    [root@centos01 ~]# echo “1.html” > /code/1.html
    [root@centos01 ~]# echo “2.html” > /code/2.html
    [root@centos01 ~]# echo “3.html” > /code/3.html
    [root@centos01 ~]# echo “a.html” > /code/a.html
    [root@centos01 ~]# echo “b.html” > /code/b.html
    3) 修改主配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    root /code;
    location / {
    rewrite /1.html /2.html;
    rewrite /2.html /3.html;
    }
    location /2.html {
    rewrite /2.html /a.html;
    }
    location /3.html {
    rewrite /3.html /b.html;
    }

        }
    

    4) 客户端端验证访问
    http://www.benet.com/1.html最终被跳转到b.html
    5) 配置停止跳转
    [root@centos01 code]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    root /code;

                location / {
                        rewrite /1.html /2.html break;
                        rewrite /2.html /3.html;
                }
                location /2.html {
                        rewrite /2.html /a.html;
                }
                location /3.html {
                        rewrite /3.html /b.html;
                }
          }
    

    6) 客户端验证
    http://www.benet.com/1.html将被跳转到2.html停止
    4、 last的应用
    1) 修改nginx配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    root /code;

                location / {
                        rewrite /1.html /2.html last;
                        rewrite /2.html /3.html;
                }
                location /2.html {
                        rewrite /2.html /a.html;
                }
                location /3.html {
                        rewrite /3.html /b.html;
                }
          }
    

    2) 客户端访问
    www.bene.com/1.html停止在a.html
    5、 配置用户输入bbs.benet.com/test/1/index.php跳转到www.benet.com/test/1/index.php
    1) 修改nginx主配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    root /code/;
    index index.html index.php;
    }
    }
    server {
    listen 192.168.100.10:80;
    server_name bbs.benet.com;
    location /test/1/ {
    root /bbs/;
    index index.html;
    if ($host = ‘bbs.benet.com’) {
    rewrite (.+) http://www.benet.com/$1 permanent;
    }
    }
    }
    2) 设置网站测试
    [root@centos01 ~]# mkdir /bbs/test/1/
    [root@centos01 ~]# echo “bbs.benet.com.php” > /bbs/test/1/index.php
    [root@centos01 ~]# mkdir /code/test/1/
    [root@centos01 ~]# echo “www.benet.com.index.php” > /code/test/1/index.php
    3) 用户输入访问数据库
    http://bbs.benet.com//test/1/index.php
    4) 验证跳转到特定网站
    在这里插入图片描述
    6、 配置参数跳转www.benet.com/ 100-200-100.htm跳转到www.benet.com网站主页
    1) 修改nginx主配置
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    root /code/;
    index index.html index.php;
    if ( r e q u e s t u r i   / 100 − 200 − 100. h t m l request_uri ~ ^/100-200-100.html requesturi /100200100.html ) {
    rewrite (.) http://www.benet.com permanent;
    }
    }
    }
    2) 设置访问页面
    [root@centos01 ~]# echo “test” > /code/100-200-100.html
    3) 客户端访问测试
    http://www.benet.com/100-200-100.html
    4) 跳转到www.benet.com主页
    在这里插入图片描述
    7、 配置客户端输入www.benet.com/upload/index.php访问www.benet.com主页
    1) 修改nginx主配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    root /code/;
    index index.html index.php;
    }
    location ~
    /upload/.*.php$ {
    rewrite (.+) http://www.benet.com permanent;
    }

    }
    2)设置网页根目录
    [root@centos01 ~]# mkdir /code/upload/
    [root@centos01 ~]# echo “www.benet.com.php” > /code/upload/index.php
    3) 客户端输入域名访问
    www.benet.com/upload/index.php
    4) 跳转到网站主页
    在这里插入图片描述
    8、 访问www.benet.com/1/index.html跳转到首页
    1) 修改nginx主配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    root /code/;
    index index.html index.php;
    }
    location ~* ^/1/test.html {
    rewrite (.+) http://www.benet.com permanent;
    }
    2) 创建网站根目录
    [root@centos01 ~]# mkdir /code/1/
    [root@centos01 ~]# echo “test” > /code/1/test.html
    3) 客户端访问
    http://www.benet.com/1/test.html
    4) 跳转到www.benet.com首页
    在这里插入图片描述
    9、 允许特定IP地址访问nginx其他任何IP地址访问报错
    1) 修改nginx主配置文件
    [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf
    server {
    listen 192.168.100.10:80;
    server_name www.benet.com;
    location / {
    root /code/;
    index index.html error.html;
    set r e w r i t e t r u e ; i f ( rewrite true; if ( rewritetrue;if(remote_addr = “192.168.100.80”){
    set KaTeX parse error: Expected 'EOF', got '}' at position 26: …lse; }̲ …rewrite = true){
    rewrite (.+) /error.html;
    }
    location = /error.html {
    root /error/;
    }

    }
    }
    2) 创建错误也网站根目录
    [root@centos01 ~]# mkdir /error/
    [root@centos01 ~]# echo “error” > /error/error.html
    3) 用允许192.168.100.80 的IP地址访问网站
    在这里插入图片描述
    4) 非IP地址192.168.100.80访问

    在这里插入图片描述

    展开全文
  • nginx 网页跳转

    2018-11-09 21:14:31
    当你让 你的旧网页 跳转到新网页去 防止访问流失 你可以用nginx 网页跳转 www.old.com 跳到 www.new.com 下载nginx 修改配置文件vim /usr/local/nginx/conf/nginx.conf修改内容server {listen 80;server_name...

    当你让 你的旧网页 跳转到新网页去 防止访问流失
    你可以用nginx 网页跳转 www.old.com 跳到 www.new.com

    1. 下载nginx
    2. 修改配置文件
      vim /usr/local/nginx/conf/nginx.conf
      修改内容
      server {
      listen 80;
      server_name localhost:
      }
      localhost / {

              root        html;
      
             index index.html    index.htm;
             rewrite     old.html   new.html  redirect;     
         }
      
        3.重起服务/usr/local/nginx/sbin/nginx -s reload
        4.ok    啦
      
                   曾经我们公司网站被封了!改动字段   又可以把访客留住了
      
                   server {
                            listen 80;
                           server_name  localhost;
                                   rewrite   ^/(.*)$  http://www.whatav.com/$1;
      
                              }
      
                                      localhost / {
                                                           index www.xo.com  www.xxoo.com
      
                                                          }

    转载于:https://blog.51cto.com/14066708/2315255

    展开全文
  • nginx页面跳转新方式

    2019-03-22 11:31:11
    相对于传统的rewrite方式,这种由refresh跳转的方式更为彻底,也更安全,快捷!!百度知乎等网站都在使用这种跳转方式,值得一试
  • (We’re sorry but XXX doesn’t work ...一、描述下问题:nginx代理跳转页面都可以进去,接口返回报200,但是就是没数据,response返回(We’re sorry but XXX doesn’t work properly without JavaScript enabl

    (We’re sorry but XXX doesn’t work properly without JavaScript enabled)很抱歉,如果没有启用JavaScript,XXX无法正常工作

    这个问题碰到过两次,还都挺麻烦的,也都是因为相同的原因造成的错误。

    一、描述下问题:nginx代理跳转页面都可以进去,接口返回报200,但是就是没数据,response返回(We’re sorry but XXX doesn’t work properly without JavaScript enabled)很抱歉,如果没有启用JavaScript,XXX无法正常工作

    二、解决办法:最后找到问题地方在nginx配置上

    在后端接口里面,接口会提供不同的前缀:

    (静态资源图片)

    disk、plan、captcha.jpg都是需要转发的后端接口地址

    所以在nginx配置的时候都需要考虑到   对应不同的前缀,配置不同的转发路径

    vue配置!

    三、这样就可以解决当时出现的问题了。

     

     

    展开全文
  • 我要实现的是输入www.taobao.com:88跳转到www.baidu.com ![图片说明](https://img-ask.csdn.net/upload/201611/01/1478000755_906314.png) 我把servicename改成localhost就能跳转到百度,这是为什么?
  • 这样/shanghai 也可以访问了,但页面中的相对链接无法使用, 如./list_1.html真实地址是/area/shanghia/list_1.html会变成/list_1.html,导至无法访问 那我加上自动跳转也是不行咯 (-d $request_filename)它有个条件...

    下面是我工作中遇到的一些rewrite示例。提供给大家分享

    正则表达式匹配,其中:

    ~ 为区分大小写匹配

    ~* 为不区分大小写匹配

    !和!*分别为区分大小写不匹配及不区分大小写不匹配

    文件及目录匹配,其中:

    -f和!-f用来判断是否存在文件

    -d和!-d用来判断是否存在目录

    -e和!-e用来判断是否存在文件或目录

    -x和!-x用来判断文件是否可执行

    flag标记有:

    last 相当于Apache里的[L]标记,表示完成rewrite

    break 终止匹配, 不再匹配后面的规则

    redirect 返回302临时重定向 地址栏会显示跳转后的地址

    permanent 返回301永久重定向 地址栏会显示跳转后的地址

    1、换域名后导流到新域名

    我们用nginx实现

    cd /etc/nginx/sites-available

    vi mysite

    增加rewrite命令

    server {

    listen 80;

    server_name www.a.com;

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

    }

    2、主域名跳转到www域名

    cd /etc/nginx/sites-available

    vi mysite

    主域名跳转到www域名

    server {

    listen 80;

    server_name xxx.com;

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

    }

    server {

    listen 80;

    server_name www.xxx.com;

    #已省略余下通用配置内容

    }

    3、主目录跳转,子目录不跳转

    server {

    listen 80;

    server_name www.a.us a.us;

    #根目录跳转

    location / {

    rewrite .+ http://www.b.com/ permanent;

    }

    #非根目录本地执行

    location ~* /.+ {

    #已省略余下通用配置内容

    }

    }

    4、301跳转设置:

    server {

    listen 80;

    server_name 123.com;

    rewrite ^/(.*) http://456.com/$1 permanent;

    access_log off;

    }

    permanent – 返回永久重定向的HTTP状态301

    5、302跳转设置:

    server {

    listen 80;

    server_name 123.com;

    rewrite ^/(.*) http://456.com/$1 redirect;

    access_log off;

    }

    redirect – 返回临时重定向的HTTP状态302

    6、禁止htaccess

    location ~//.ht {

    deny all;

    }

    7、禁止多个目录

    location ~ ^/(cron|templates)/ {

    deny all;

    break;

    }

    8、禁止以/data开头的文件

    可以禁止/data/下多级目录下.log.txt等请求;

    location ~ ^/data {

    deny all;

    }

    9、禁止单个目录

    不能禁止.log.txt能请求

    location /searchword/cron/ {

    deny all;

    }

    10、禁止单个文件

    location ~ /data/sql/data.sql {

    deny all;

    }

    11、给favicon.ico和robots.txt设置过期时间;

    这里为favicon.ico为99天,robots.txt为7天并不记录404错误日志

    location ~(favicon.ico) {

    log_not_found off;

    expires 99d;

    break;

    }

    location ~(robots.txt) {

    log_not_found off;

    expires 7d;

    break;

    }

    12、设定某个文件的过期时间;这里为600秒,并不记录访问日志

    location ^~ /html/scripts/loadhead_1.js {

    access_log off;

    root /opt/lampp/htdocs/web;

    expires 600;

    break;

    }

    13、文件反盗链并设置过期时间

    这里的return 412 为自定义的http状态码,默认为403,方便找出正确的盗链的请求

    “rewrite ^/ http://leech.c1gstudio.com/leech.gif;”显示一张防盗链图片

    “access_log off;”不记录访问日志,减轻压力

    “expires 3d”所有文件3天的浏览器缓存

    location ~* ^.+/.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {

    valid_referers none blocked *.c1gstudio.com *.c1gstudio.net localhost 208.97.167.194;

    if ($invalid_referer) {

    rewrite ^/ http://leech.c1gstudio.com/leech.gif;

    return 412;

    break;

    }

    access_log off;

    root /opt/lampp/htdocs/web;

    expires 3d;

    break;

    }

    14、只充许固定ip访问网站,并加上密码

    root /opt/htdocs/www;

    allow 208.97.167.194;

    allow 222.33.1.2;

    allow 231.152.49.4;

    deny all;

    auth_basic "C1G_ADMIN";

    auth_basic_user_file htpasswd;

    15、将多级目录下的文件转成一个文件,增强seo效果

    /job-123-456-789.html 指向/job/123/456/789.html

    rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)/.html

    math?formula=%2Fjob%2F1/

    math?formula=2%2Fjobshow_3.html last;

    16、将根目录下某个文件夹指向2级目录

    如/shanghaijob/ 指向 /area/shanghai/

    如果你将last改成permanent,那么浏览器地址栏显是/location/shanghai/

    rewrite ^/([0-9a-z]+)job/(.*)

    math?formula=%2Farea%2F1/$2 last;

    上面例子有个问题是访问/shanghai 时将不会匹配

    rewrite ^/([0-9a-z]+)job

    math?formula=%2Farea%2F1/ last;

    rewrite ^/([0-9a-z]+)job/(.*)

    math?formula=%2Farea%2F1/$2 last;

    这样/shanghai 也可以访问了,但页面中的相对链接无法使用,

    如./list_1.html真实地址是/area/shanghia/list_1.html会变成/list_1.html,导至无法访问

    那我加上自动跳转也是不行咯

    (-d $request_filename)它有个条件是必需为真实目录,而我的rewrite不是的,所以没有效果

    if (-d $request_filename){

    rewrite /(.*)([/])

    math?formula=http%3A%2F%2Fhost/

    math?formula=12/ permanent;

    }

    知道原因后就好办了,让我手动跳转吧

    rewrite ^/([0-9a-z]+)job

    math?formula=%2F1job/ permanent;

    rewrite ^/([0-9a-z]+)job/(.*)

    math?formula=%2Farea%2F1/$2 last;

    17、文件和目录不存在的时候重定向:

    if (!-e $request_filename) {

    proxy_pass http://127.0.0.1;

    }

    18、域名跳转

    server

    {

    listen 80;

    server_name jump.c1gstudio.com;

    index index.html index.htm index.php;

    root /opt/lampp/htdocs/www;

    rewrite ^/ http://www.c1gstudio.com/;

    access_log off;

    }

    19、多域名转向

    index index.html index.htm index.php;

    root /opt/lampp/htdocs;

    if ($host ~ "c1gstudio/.net") {

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

    }

    20、三级域名跳转

    if (

    math?formula=http_host%20~*%20%22%5E(.*)%2F.i%2F.c1gstudio%2F.com") {

    rewrite ^(.*) http://top.yingjiesheng.com$1;

    break;

    }

    展开全文
  • nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转
  • Nginx rewrite跳转

    2020-08-15 22:11:35
    文章目录Nginx_rewrite跳转一、概述1.1Rewrite 跳转场景1.2.Rewrite 实际场景1.2.1Nginx跳转需求的实现方式1.2.2rewrite放在server{}, if{}, location{} 段中1.2.3对域名或参数字符串1.3 rewrite和location对比1.3.1...
  • Nginx Rewrite跳转

    2020-11-04 11:03:03
    Nginx RewriteNginx Rewrite概述Rewrite跳转场景Rewrite跳转实现Rewrite实际场景Nginx正则表达式常用的正则表达式元...新域名的跳转基于参数匹配的跳转基于最普通URL请求的跳转访问任意一个页面跳转到首页,即http://ww
  • nginx无法跳转

    千次阅读 2019-03-30 20:14:36
    nginx转发端口非80的时候,无法跳转问题 nginx默认反向的端口为80,因此存在被代理后的端口为80的问题,会导致访问出错。 主要原因在Nginx的配置文件的host配置时没有设置响应的端口。 修改方法:在nginx.conf里...
  • Nginx直接跳转

    2016-08-12 13:47:43
    Nginx直接做页面跳转,可以将域名指向国外然后跳转回来 location / { rewrite ^ http://www.csdn.net redirect; }
  • Nginx rewrite跳转功能

    2020-08-12 18:26:53
    文章目录Nginx Rewrite概述Rewrite跳转场景Rewrite跳转实现Rewrite实际场景Nginx正则表达式Rewrite命令location概述location分类正则匹配的常用表达式location优先级rewrite和location比较location优先级示例...
  • Nginx隐式页面跳转配置

    千次阅读 2018-02-18 20:57:45
    Nginx隐式页面跳转配置 Nginx实现将请求跳转到另一个网站的页面,在浏览器中URL保持不变。以下配置示例将请求路径https://abc.com/home/test跳转到https://def.com/home/test/test.html页面。 server { listen ...
  • Nginx rewrite 跳转

    2021-06-30 14:06:51
    比如:更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求。如果在后端使用的 Apache服务器,虽然也能做跳转,规则库也很强大,但是用Nginx跳转效率会更高(正则...
  • nginx 404跳转到指定页面 error_page 404 = @fetch; location @fetch( proxy_pass http://fetch; ) posted on 2017-01-28 13:32 木子炜培先生 阅读(......
  • http跳转https server { listen 80; server_name 你的网页地址; rewrite ^(.*) https://你的网页地址$1 permanent; } 匹配路径https://你的网页地址/activity/14286.html 转发到路径https://你的网页地址/...
  • 主要介绍了关于nginx没有跳转到upstream地址的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Nginx跳转需求的实现方式 rewrite进行匹配跳转 if匹配全局变量后跳转 location匹配再跳转 rewrite放在server{} ,if{}, location{}段中 location只对域名后边的出去传递参数外的字符串起作用 对域名或参数字符串 ...
  • nginx 域名跳转 ---IP跳转----

    千次阅读 2019-05-23 11:56:53
    一 :nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转 首先一、得在你的域名管理里面定义 caizhan99.com 和www.caizhan99.com 指向你的主机ip地址,我们可以使用nslookup命令测试:...
  • nginx http跳转https

    千次阅读 2018-01-11 19:28:23
    2、环境:一个测试的nginx+静态页面 3、实现:写成两个配置文件一个叫test.conf内容如下: server { listen 80; server_name www.test.com; location / { rewrite ^/(.*) https://www.test.com; #当访问http时...
  • nginx 配置跳转

    2016-09-28 16:14:20
    1、安装nginx ...2、在/usr/share/nginx下面新建目录mytest,在此目录中新建index.html并在页面上写入一个hello wolrd.       3、删除/etc/nginx/sites-enabled/default; 新建一个文件m...
  • nginx default跳转

    2016-01-08 11:48:44
    一转眼2016到了,时间过得真的很快,想想那个时候狂发博文还是2012年左右呢?当时为了获得奖品,天天各种研究啥的,...今天心血来潮,发表一个关于nginx跳转的问题。 需求:将不同域名无效的主机头跳转到各自域名...
  • 但是,如果用户直接在浏览器输入域名,并访问的话,那样就不跳转,这样的情况是怎么实现的呢,今天我在这分别解释一下nginx和apache的实现方法。 nginx: 例:现在google首页点击广告 www.abc.com 跳转到...
  • 解决nginx一直跳转登陆页面

    千次阅读 2019-03-15 13:04:32
    加入ip_hash: upstream nginx.example.com{ server 192.168.74.235:80;...Nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端web机器中,这样一来这个ip下的客户端和某个后端web机器就能建立起稳固...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,736
精华内容 10,694
关键字:

nginx网页跳转