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

Coupon giảm giá 40% khi mua hosting tại StableHost

StableHost đã quá quen thuộc trong giới lập trình web của chúng ta cũng như các nhà cung cấp dịch vụ hosting máy chủ hàng đầu hiện nay. Tuy là do khoảng cách địa lý giữa Việt Nam và Hoa Kỳ bằng nửa vòng trái đất nhưng StableHost vẫn cho phép người dùng hosting tại […]

Xem chi tiết →

Hướng dẫn cách chèn logo vào ảnh tự động trong nukeviet

Chèn logo vào ảnh là một điều khá là quen thuộc đối với tất cả các website để bảo vệ bản quyền bức ảnh nếu như ảnh chính chủ hay là để người copy bức ảnh đăng lên đâu đó và hiện thông tin logo của trang web của bạn cũng là một hình thức […]

Xem chi tiết →

Chuyển hướng tên miền có www sang không có www bằng htaccess

Như ở bài trước Thịnh có chia sẻ với các bạn cách chuyển hướng hay loại bỏ www ra khỏi tên miền bằng cách thiết lập quản trị domain thì ở bài này mình bổ sung thêm cách sử dụng htaccess để chuyển hướng từ www sang không có www trong trường hợp mà quản […]

Xem chi tiết →