Domain, hosting, vps giá rẻ
Kết quả 1 đến 1 của 1

Chủ đề: [VBB] Rewrite Friendly Url Vbulletin on Nginx

  1. #1
    nghiammo1992's Avatar
    Bài viết
    5,073
    Cấp độ
    Bang hội
    Tiếu Ngạo
    Tu luyện
    Độ kiếp Hư Thần
    Giới tính
    Con trai
    Join Date
    Jun 2012
    Đến từ
    Hà Giang
    Tuổi
    32
    Danh vọng
    10
    Điện thoại
    0367790762

    [VBB] Rewrite Friendly Url Vbulletin on Nginx

    Rewrite Friendly Url Vbulletin on Nginx



    Rewrite URL là gì chắc không cần phải giải thích :D
    Nếu sử dụng apache thì mọi viêc rất đơn giản chỉ cần dùng .htaccess là xong. Nhưng đối với nginx thì sao ???
    Nginx không chạy được .htaccess mà nó sử dụng file vhost (/etc/nginx/conf.d/ketnoi123.conf)
    Sau nhiều ngày lọ mọ cuối cùng mình cũng làm thành công giờ share lại cho anh em.
    Chú ý: Cái này là kinh nghiệm của mình không hề copy bất cứ bài viết nào nên ai biết rồi thừ đừng quăng gạch nhé :D
    Ở đây mình sẽ hướng dẫn mọi người rewrite về dạng như này

    Mã:
    http://ketnoi123.com/threads/4694-download-truyen-tranh-sieu-dau-bep-ti-hon-mister-ajikko-tron-bo-html
    Đẹp và tối ưu seo :D

    Mình làm trên VBB 4.2.2 nhé.

    Đầu tiên các bạn truy cập vào admincp => Options => Settings => Friendly URLs

    Ở phần URL Type chọn Mod Rewrite Friendly URLs



    Tiếp theo mở file /includes/class_friendly_url.php ra

    Tìm:
    Mã:
    $fragment = preg_replace(self::CLEAN_URL_REGEX, '-', strip_tags($fragment));
    $fragment = trim(preg_replace('#-+#', '-', $fragment), '-');
    Thay thế bằng:
    Mã:
    $fragment = preg_replace(self::CLEAN_URL_REGEX, '-', strip_tags($fragment));
    $fragment = trim(preg_replace('#-+#', '-', $fragment), '-');
    
    $translite_simbols = array (  
    '#(à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ)#', 
    '#(è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ)#', 
    '#(ì|í|ị|ỉ|ĩ)#', 
    '#(ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ)#', 
    '#(ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ)#', 
    '#(ỳ|ý|ỵ|ỷ|ỹ)#', 
    '#(đ)#', 
    '#(À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ)#', 
    '#(È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ)#', 
    '#(Ì|Í|Ị|Ỉ|Ĩ)#', 
    '#(Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ)#', 
    '#(Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ)#', 
    '#(Ỳ|Ý|Ỵ|Ỷ|Ỹ)#', 
    '#(Đ)#', 
    '#(U)#',
    '#(K)#',
    '#(H)#',
    '#(V)#',
    '#(C)#',
    '#(I)#',
    '#(L)#',
    '#(M)#',
    '#(D)#',
    '#(Y)#',
    '#(T)#',
    '#(B)#',
    '#(N)#',
    '#(G)#',
    '#(X)#',
    '#(O)#',
    '#(S)#',
    '#(A)#',
    '#(F)#',
    '#(E)#',
    '#(Q)#',
    '#(P)#',
    '#(R)#',
    '#(J)#',
    '#(W)#',
    '#(Z)#',
    "/[^a-zA-Z0-9\-\_]/", 
    ) ;  
    $replace = array (  
    'a', 
    'e', 
    'i', 
    'o', 
    'u', 
    'y', 
    'd', 
    'a', 
    'e', 
    'i', 
    'o', 
    'u', 
    'y', 
    'd',
    'u',
    'k',
    'h',
    'v',
    'c',
    'i',
    'l',
    'm',
    'd',
    'y',
    't',
    'b',
    'n',
    'g',
    'x',
    'o',
    's',
    'a',
    'f',
    'e',
    'q',
    'p',
    'r', 
    'j',   
    'w', 
    'z',  
    '-', 
    ) ;  
    $fragment = $fragment.".html"; //nếu sử dụng cms thì các bạn xóa dòng này đi
    $fragment = preg_replace($translite_simbols, $replace, $fragment);  
    $fragment = preg_replace('/(-)+/', '-', $fragment);  
    $fragment = str_replace('quot-','',$fragment);
    $fragment = str_replace('amp-','',$fragment);
    Rồi giờ đến cấu hình file conf

    Các bạn mở file conf của site lên (/etc/nginx/conf.d/ketnoi123.conf)

    Tìm:
    Mã:
    root /home/ketnoi123.com/public_html;
    index index.php index.html index.htm;
    Thêm dòng bên dưới:
    Mã:
    if (-f $request_filename){
        set $rule_0 1;
    }
    if ($request_filename ~ "-l"){
        set $rule_0 1;
    }
    if (-d $request_filename){
        set $rule_0 1;
    }
    if ($rule_0 = "1"){
    #ignored: "-" thing used or unknown variable in regex/rew
    }
        rewrite ^/threads/.* /showthread.php;
        rewrite ^/forums/.* /forumdisplay.php;
        rewrite ^/members/.* /member.php;
    Vậy là xong, restart nginx và tận hưởng thành quả với URL được rewrite đẹp lung linh nào :D
    Mã:
    service nginx restart
    Lần sửa cuối bởi nghiammo1992, ngày 21/11/2015 lúc 2:45.
    Diễn đàn chia sẻ kiến thức điện thoại: http://chiase123.com
    Click vào Hiện ra để xem chữ ký của mình :X

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

Các Chủ đề tương tự

  1. Trả lời: 0
    Bài viết cuối: 05/05/2015, 19:52
  2. Trả lời: 0
    Bài viết cuối: 05/07/2014, 13:01
  3. [Nginx] Chống upload shell, chạy shell trên nginx
    Bởi nghiammo1992 trong diễn đàn VPS - Server
    Trả lời: 0
    Bài viết cuối: 19/04/2014, 0:28
  4. [VBB] Nginx rewrite rules cho vBSEO
    Bởi nghiammo1992 trong diễn đàn PHP & MySQL
    Trả lời: 0
    Bài viết cuối: 18/04/2014, 13:36
  5. [VPS linux] Cài đặt Nginx trên virtualmin
    Bởi nghiammo1992 trong diễn đàn VPS - Server
    Trả lời: 0
    Bài viết cuối: 30/01/2013, 21:04

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •