Hướng Dẫn Rewrite Ruler Nginx

Thảo luận trong 'Công Nghệ' bắt đầu bởi Admin, 5 Tháng bảy 2016.

  1. Admin

    Admin Cho đi là còn mãi Thành viên BQT

    Bài viết:
    Tìm chủ đề
    1,063
    Các bạn thay tên miền của các bạn vào.

    Chuyển từ www sang non-www:

    Mã:
    if ($host = "www.domain.com") {
        rewrite ^ $scheme://domain.com$uri permanent;
    }
    location / {
        try_files $uri $uri/ @modx-rewrite;
    }
    Ngược lại: domain.com -> www.domain.com

    Mã:
    if ($host = "domain.com") {
        rewrite ^ $scheme://www.domain.com$uri permanent;
    }
    location / {
        try_files $uri $uri/ @modx-rewrite;
    }
    SSL Sites

    Google hiện tại đang sử dụng SSL là một yếu tố xếp hạng, nếu bạn sử dụng các site eCommerce, hãy sử dụng SSL.

    Rule bên dưới sẽ redirect tất cả request sử dụng HTTPS, thay www.domain.com bằng tên miền của bạn.

    Mã:
    if ($scheme != "https") {
        rewrite ^ https://www.domain.com$uri permanent;
    }
    if ($host != "www.domain.com") {
        rewrite ^ https://www.domain.com$uri permanent;
    }
    Bắt buộc phải sử dụng SSL với một đường dẫn bất kỳ:

    Mã:
    set $redirect false;
    if ($request_uri ~ ^/manager(\/)?$ ) {
        set $redirect true;
    }
    if ($scheme = https) {
        set $redirect false;
    }
    if ($redirect = true) {
        return 301 https://www.domain.com$request_uri;
    }
    Tối ưu Browser Caching

    Bằng việc sử dụng browser caching, website của bạn sẽ load nhanh hơn rất nhiều kể từ sau lần visit đầu tiên:

    Mã:
    location ~* \.(?:ico|css|js|jpe?g|png|gif|svg|pdf|mov|mp4|mp3|woff)$ {
        expires 7d;
        add_header Pragma public;
        add_header Cache-Control "public";
        gzip_vary on;
    }
    Giới hạn IP truy cập

    Trong trường hợp bạn muốn giới hạn IP truy cập vào một đường dẫn bất kỳ, hãy sử dụng rule bên dưới:

    Mã:
    location /manager/ {
    allow 192.168.1.1/24;
    allow 127.0.0.1;
    deny all;
    }
    Ngăn những site khác sử dụng hình ảnh

    Với đoạn code dưới, bạn sẽ hạn chế những site khác sử dụng hình ảnh trực tiếp:

    Mã:
    location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked .domain.com;
    if ($invalid_referer) {
    return 403;
    }
    }
    Nếu bạn muốn thay vì báo lỗi mà hiển thị một hình ảnh khác, hãy sử dụng code bên dưới:

    Mã:
    location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked .domain.com;
    if ($invalid_referer) {
    rewrite (.*)\.(jpg|jpeg|png|gif)$ http://www.domain.com/images/warning.jpg;
    }
    }
    Bảo vệ thư mục bằng mật khẩu

    Đầu tiên, bạn cần sử dụng tool để tạo file .htpasswd, sau đó dùng đoạn code bên dưới, giả sử mình lưu ở /root/.htpasswd

    Mã:
    location /protectme/ {
    auth_basic "Restricted";
    auth_basic_user_file /root/.htpasswd;
    }
    Rewrite URL

    Ví dụ bên dưới giả sử bạn muốn rewrite đường dẫn http://domain.com/listing/123 thành http://domain.com/listing.php?id=123

    Mã:
    rewrite ^/listing/(.*)$ /listing.php?id=$1 last;
    (.*) ở đây là regular expression, đại diện cho bất kỳ ký tự nào. Nếu thêm regular expression, bạn sử dụng tương ứng $2, $3

    Redirect URL cũ sang URL mới

    Redirect /someoldarticle.html sang /some/newarticle.html

    Mã:
    rewrite ^/someoldarticle\.html /some/newarticle.html permanent;
    Chạy WordPress ở Sub-folder

    Mã:
    location /demo/ {
    try_files $uri $uri/ /demo/index.php?$args;
    }
    Hiển thị nội dung thư mục

    Mã:
    location / {
    autoindex on;
    }
    hoặc tắt đi

    Mã:
    location / {
    autoindex off;
    }
    Chia sẻ kinh nghiệm:

    VPS tốt nhất dành cho webmaster Việt Nam: Vultr
     
    Chỉnh sửa cuối: 19 Tháng tám 2019
Từ Khóa:

Chia sẻ trang này

Đang tải...