10 Tháng 5, 2019 Tác giả: Thịnh Nguyễn Chuyên mục: Hosting & Domain, Thủ thuật NukeViet

Cấu hình Rewrite Sitemap NukeViet trên VPS Nginx

Đối với tất cả các website hiện nay đều có một sitemap riêng dùng để tạo một danh sách các url và việc này sẽ gửi tới trang Google Webmaster Tools mà bây giờ đã đổi thành Google Search Console. Chính vì điều này mà mã nguồn mở NukeViet cũng phải có nhưng vì một số nguyên do cơ bản đó là khi bạn cài đặt hoặc quản trị website NukeViet trên VPS Nginx thì bạn sẽ gặp phải vấn đề rất chi là oái oăm mà người quản trị web nào cũng ái ngại đó là sitemap sẽ không sinh ra mà thay vào đó nó sẽ load toàn bộ nội dung trên trang chủ. Tuy nhiên, vấn đề đó không khó nếu bạn khá là sành sỏi khi sử dụng VPS Nginx.

Như các bạn đã biết thì đối với Nginx nó sẽ không sử dụng tập tin .htaccess. Chính vì điều này mà khi bạn truy cập vào địa chỉ domain.com/sitemap.xml mà sử dụng mã nguồn mở NukeViet thì đúng là số quá đen và sẽ phải tìm cách khắc phục. Như mình đã lướt web từ trang trong nước cho tới trang nước ngoài thì cũng có hướng dẫn nhưng không chi tiết và thực tế cho lắm và chỉ xoay quanh mã nguồn wordpress hay là joomla và các mã nguồn hoặc framework khác mà thôi. Chính vì thế mà hôm nay mình chia sẻ chút ít để các bạn có thể tạo sitemap cho mã nguồn mở NukeViet trên VPS Nginx.

Bước 1: Đầu tiên bạn cần truy cập vào vps thông qua ftp hoặc sftp của bạn.

Bước 2: Tiếp đến bạn truy cập vào đường dẫn /etc/nginx/conf.d.

Bước 3: Tại đây bạn mở file domain.com.conf (cụ thể là tên domain .com hoặc .net,… rồi tiếp đến phần mở rộng là .conf). Lưu ý là bạn nên sử dụng notepad++ để đọc các định dạng này thông qua ftp như filezilla,.. hoặc cũng có thể tải về máy tính và sử dụng phần mềm notepad hoặc notepad++ rồi chỉnh sửa

Bước 4: Tiếp theo bạn tìm đến dòng lệnh sau:

location / {

try_files $uri $uri/ /index.php?$args;

}

Bước 5: Bạn tiến hành thêm vào trên dòng lệnh đó một đoạn lệnh sau

if ($request_filename ~ /robots.txt$){
    rewrite ^(.*)$ /robots.php?action=$http_host break;
  }

        # Thiết lập rewrite chỉ có từ NukeViet 4.3.00
  rewrite ^/install/check\.rewrite$ /install/rewrite.php break;

  rewrite ^/(.*?)sitemap\.xml$ /index.php?nv=SitemapIndex break;
  rewrite "^/(.*?)sitemap\-([a-z]{2})\.xml$" /index.php?language=$2&nv=SitemapIndex break;
  rewrite "^/(.*?)sitemap\-([a-z]{2})\.([a-zA-Z0-9-]+)\.xml$" /index.php?language=$2&nv=$3&op=sitemap break;

  if (!-e $request_filename){
    rewrite (.*)(\/|\.html)$ /index.php;
    rewrite /(.*)tag/(.*)$ /index.php;
  }
  
  rewrite ^/seek\/q\=([^?]+)$ /index.php?nv=seek&q=$1 break;
  rewrite ^/search\/q\=([^?]+)$ /index.php?nv=news&op=search&q=$1 break;
  rewrite ^/([a-zA-Z0-9\-]+)\/search\/q\=([^?]+)$ /index.php?nv=$1&op=search&q=$2 break; 
  rewrite ^/([a-zA-Z0-9-\/]+)\/([a-zA-Z0-9-]+)$ /$1/$2/ break; 
  rewrite ^/([a-zA-Z0-9-]+)$ /$1/ break;		

  location ~ ^/admin/([a-z0-9]+)/(.*)$ {
    deny all;
  }

  location ~ ^/(config|includes|install|vendor)/(.*)$ {
    deny all;
  }

  location ~ ^/data/(cache|ip|ip6|logs)/(.*)$ {
    deny all;
  }

  location ~ ^/(files|uploads|themes)/(.*).(php|ini|tpl|php3|php4|php5|phtml|shtml|inc|pl|py|jsp|sh|cgi)$ {
    deny all;
  }

Bước 6: Sau đó thì lưu lại và tiến hành up đè lên file như ở bước 3 lên vps.

Bước 7: Cuối cùng là bạn tiến hành chạy lệnh sau để hệ thống cập nhật lại thông tin

service php-fpm restart
service nginx restart

Sau khi hệ thống đã ghi nhận chạy lại thì bạn bây giờ có thể truy cập vào địa chỉ: domain.com/sitemap.xml như bình thường và nó sẽ hiện ra danh sách các link xml con của hệ thống nukeviet sinh ra như bình thường khi bạn cài nó trên vps apache hay trên xampp

Khi đã có sitemap nukeviet bạn có thể tiến hành gửi submit sitemap nukeviet lên Google Search Console một cách bình thường.

Tác giả: Thịnh Nguyễn

Chuyên gia chia sẻ kiến thức về lập trình, thiết kế web và tối ưu hệ thống server.

Chia sẻ bài viết này:

2 bình luận

  • Mr Son

    23/06/2019 lúc 09:41

    Mình hỏi chút. Web mình sao không lên được thứ hạng như của bạn nhỉ. Có cách gì lên được với từ thiết kế biệt thự không. Mong bạn tư vấn thêm

    • Thịnh Nguyễn

      19/07/2019 lúc 15:58

      Bạn muốn lên top thì phải bỏ tiền seo và chạy quảng cáo thui 😀

Để lại bình luận của bạn

Địa chỉ email của bạn sẽ không được công bố rộng rãi. Các trường bắt buộc được đánh dấu *

Bài viết liên quan

Hướng dẫn tích hợp cổng thanh toán paypal vào module shop NukeViet 4

Cổng thanh toán PayPal là một trong những cổng thanh toán trực tuyến hàng đầu thế giới và giờ đây đã được tích hợp vào module shops nukeviet. Để sử dụng cổng thanh toán PayPal bạn cần đăng nhập quản trị module để kích hoạt cổng thanh toán này. Cần chú ý năm thông số […]

Xem chi tiết →

Hướng dẫn sao lưu cơ sở dữ liệu của website sử dụng NukeViet

Sao lưu cơ sở dữ liệu của một website là điều hiển nhiên và nó diễn ra thường xuyên giúp đảm bảo khi website của bạn gặp sự cố gì đó thì bạn hoàn toàn có thể khôi phục về bản trước đó. Chính vì thế mà NukeViet có thêm tính năng “sao lưu cơ […]

Xem chi tiết →

Hướng dẫn thiết lập đóng cửa website nukeviet

Trong quá trình quản trị website bạn sẽ gặp phải vài vấn đề nho nhỏ như nâng cấp website, hay chưa muốn người truy cập đọc được nội dung của site thì bạn cần đến công việc đó là đóng cửa website tạm thời. Cũng như bao mã nguồn khác thì đều có tính năng […]

Xem chi tiết →