当前位置 主页 > 服务器问题 > nginx问题汇总 > 最大化 缩小

    Nginx下301重定向域名的方法小结(4)

    栏目:nginx问题汇总 时间:2018-09-14 16:18


    expires 3d;
    break;
    }
    只充许固定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;
    将多级目录下的文件转成一个文件,增强seo效果
    /job-123-456-789.html 指向/job/123/456/789.html

    rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /job/$1/$2/jobshow_$3.html last;
    将根目录下某个文件夹指向2级目录
    如/shanghaijob/ 指向 /area/shanghai/
    如果你将last改成permanent,那么浏览器地址栏显是 /location/shanghai/

    rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;
    上面例子有个问题是访问/shanghai 时将不会匹配

    rewrite ^/([0-9a-z]+)job$ /area/$1/ last;
    rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;
    这样/shanghai 也可以访问了,但页面中的相对链接无法使用,
    如./list_1.html真实地址是/area /shanghia/list_1.html会变成/list_1.html,导至无法访问。

    那我加上自动跳转也是不行咯
    (-d $request_filename)它有个条件是必需为真实目录,而我的rewrite不是的,所以没有效果

    if (-d $request_filename){
    rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
    }
    知道原因后就好办了,让我手动跳转吧

    rewrite ^/([0-9a-z]+)job$ /$1job/ permanent;
    rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;
    文件和目录不存在的时候重定向:

    if (!-e $request_filename) {
    proxy_pass http://127.0.0.1/;
    }
    域名跳转

    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;
    }
    多域名转向

    server_name http://www.c1gstudio.com/ http://www.c1gstudio.net/;
    index index.html index.htm index.php;
    root /opt/lampp/htdocs;
    if ($host ~ "c1gstudio\.net") {
    rewrite ^(.*) http://www.c1gstudio.com$1/ permanent;
    }
    三级域名跳转

    if ($http_host ~* "^(.*)\.i\.c1gstudio\.com$") {
    rewrite ^(.*) http://top.yingjiesheng.com$1/;
    break;
    }
    域名镜向

    server
    {
    listen 80;
    server_name mirror.c1gstudio.com;
    index index.html index.htm index.php;
    root /opt/lampp/htdocs/www;
    rewrite ^/(.*) http://www.c1gstudio.com/$1 last;
    access_log off;
    }
    某个子目录作镜向

    location ^~ /zhaopinhui {
    rewrite ^.+ http://zph.c1gstudio.com/ last;
    break;
    }
    discuz ucenter home (uchome) rewrite

    rewrite ^/(space|network)-(.+)\.html$ /$1.php?rewrite=$2 last;
    rewrite ^/(space|network)\.html$ /$1.php last;
    rewrite ^/([0-9]+)$ /space.php?uid=$1 last;
    discuz 7 rewrite

    rewrite ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 last;
    rewrite ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3 last;
    rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3 last;
    rewrite ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3 last;