DLE có thể hỗ trợ SEO URL trên máy chủ chạy Nginx không?
Như bạn đã biết, máy chủ chạy Apache không phải là giải pháp tối ưu để chạy các trang web có nhiều lượt truy cập và khi lượng truy cập trang web tăng lên, mức tiêu thụ bộ nhớ máy chủ cũng tăng theo cấp số nhân.
Vì vậy, khi tối ưu hóa phần mềm máy chủ thường sử dụng phương pháp cài đặt kết hợp máy chủ bộ đệm nhẹ Nginx làm máy chủ phía trước và Apache làm máy chủ phía sau. Sự kết hợp này có thể giảm đáng kể mức tiêu thụ bộ nhớ và tăng hiệu suất máy chủ.
Tuy nhiên, có một giải pháp hiệu quả hơn nữa, đó là cài đặt máy chủ Nginx làm máy chủ độc lập duy nhất, trong khi Apache bị xóa hoàn toàn khỏi hệ thống, điều này cho phép đạt hiệu suất cao hơn nữa. Vấn đề duy nhất khi làm việc với DLE của hệ thống như vậy là sự không tương thích của các quy tắc rewrite tiêu chuẩn trong tệp .htaccess, được viết cho Apache. Do đó, nếu bạn quyết định cài đặt Nginx dưới dạng một máy chủ riêng biệt, chúng tôi khuyên bạn nên tải xuống các quy tắc được viết cho Nginx.
Phiên bản DLE áp dụng: DLE 17.0
Hướng dẫn cài đặt: sao chép toàn bộ mã nguồn bên dưới vào tập tin cấu hình nginx.conf rồi sau đó khởi động lại nginx. Chú ý, các quy tắc này chỉ hợp lệ cho máy chủ độc lập Nginx; nếu bạn sử dụng kết hợp Nginx và Apache, thì bạn cần sử dụng các quy tắc tiêu chuẩn trong tập tin .htaccess kèm theo mã nguồn DLE.
index index.php;
rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$" /index.php?mod=print&subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last;
rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last;
rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last;
rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$" /index.php?mod=print&news_page=$2&newsid=$3&seourl=$4&seocat=$1 last;
rewrite "^/([^.]+)/([0-9]+)-(.*).html$" /index.php?newsid=$2&seourl=$3&seocat=$1 last;
rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last;
rewrite "^/page,([0-9]+),([0-9]+)-(.*).html$" /index.php?newsid=$2&news_page=$1&seourl=$3 last;
rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html$" /index.php?mod=print&news_page=$1&newsid=$2&seourl=$3 last;
rewrite "^/([0-9]+)-(.*).html$" /index.php?newsid=$1&seourl=$2 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last;
rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last;
rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last;
rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last;
rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last;
rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last;
rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last;
rewrite "^/xfsearch/(.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last;
rewrite "^/xfsearch/(.*)/?$" /index.php?do=xfsearch&xf=$1 last;
rewrite "^/user/([^/]*)/rss.xml$" /index.php?mod=rss&subaction=allnews&user=$1 last;
rewrite "^/user/([^/]*)/rssturbo.xml$" /index.php?mod=rss&subaction=allnews&rssmode=turbo&user=$1 last;
rewrite "^/user/([^/]*)/rssdzen.xml$" /index.php?mod=rss&subaction=allnews&rssmode=dzen&user=$1 last;
rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last;
rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last;
rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last;
rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last;
rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /index.php?mod=rss&subaction=allnews&user=$1 last;
rewrite "^/user/([^/]*)/news/rssturbo.xml(/?)+$" /index.php?mod=rss&subaction=allnews&rssmode=turbo&user=$1 last;
rewrite "^/user/([^/]*)/news/rssdzen.xml(/?)+$" /index.php?mod=rss&subaction=allnews&rssmode=dzen&user=$1 last;
rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last;
rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last;
rewrite "^/catalog/([^/]*)/rss.xml$" /index.php?mod=rss&catalog=$1 last;
rewrite "^/catalog/([^/]*)/rssturbo.xml$" /index.php?mod=rss&rssmode=turbo&catalog=$1 last;
rewrite "^/catalog/([^/]*)/rssdzen.xml$" /index.php?mod=rss&rssmode=dzen&catalog=$1 last;
rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last;
rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last;
rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last;
rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last;
rewrite "^/favorites(/?)+$" /index.php?do=favorites last;
rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last;
rewrite "^/rules.html$" /index.php?do=rules last;
rewrite "^/statistics.html$" /index.php?do=stats last;
rewrite "^/addnews.html$" /index.php?do=addnews last;
rewrite "^/rss.xml$" /index.php?mod=rss last;
rewrite "^/rssturbo.xml$" /index.php?mod=rss&rssmode=turbo last;
rewrite "^/rssdzen.xml$" /index.php?mod=rss&rssmode=dzen last;
rewrite "^/sitemap.xml$" /uploads/sitemap.xml last;
rewrite "^/google_news.xml$" /uploads/google_news.xml last;
rewrite "^/static_pages.xml$" /uploads/static_pages.xml last;
rewrite "^/category_pages.xml$" /uploads/category_pages.xml last;
rewrite "^/tags_pages.xml$" /uploads/tags_pages.xml last;
rewrite "^/news_pages(\d*?).xml$" /uploads/news_pages$1.xml last;
if (!-d $request_filename) {
rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last;
rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last;
}
if (!-f $request_filename) {
rewrite "^/([^.]+)/rss.xml$" /index.php?mod=rss&do=cat&category=$1 last;
rewrite "^/([^.]+)/rssturbo.xml$" /index.php?mod=rss&do=cat&rssmode=turbo&category=$1 last;
rewrite "^/([^.]+)/rssdzen.xml$" /index.php?mod=rss&do=cat&rssmode=dzen&category=$1 last;
rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1&seourl=$2 last;
rewrite "^/print:([^/]+).html$" /index.php?mod=print&do=static&page=$1&seourl=$1 last;
rewrite "^/([^/]+).html$" /index.php?do=static&page=$1&seourl=$1 last;
}
Comments 10