SEO link Discuz X1.5 with Title - ทำลิงค์ดิสคัส X1.5 รองรับทุกภาษา [ปรับปรุง 23/02/2011]
แก้ไขครั้งสุดท้ายโดย jaideejung007 เมื่อ 2011-2-26 23:21FIX DATE: 23/02/2011 19.05 น.
[*]FIX ลิงค์ที่มีเครื่องหมาย "++" ออกจากลิงค์ หลังจากการกรองสัญลักษณ์แล้ว
[*]FIX ลิงค์ที่มีเครื่องหมาย "+", "-" ที่อยู่ในตำแหน่งต่อท้ายลิงค์ หลังจากการกรองสัญลักษณ์แล้ว
[*]FIX จัดลำดับตัวแปร PHP สำหรับกรองสัญลักษณ์ใหม่ ให้ถูกต้องตามหลักการของ PHP
FIX DATE: 01/02/2011 20.50 น.
[*]FIX ไฟล์แพทตามประเทศจีนวันที่ 20110121
[*]ADD ระบบตัดความยามของลิงค์ให้เหลือ 80 อักขระ เพื่อป้องกันลิงค์เป็นสแปม(Spam) จาก Search Engine
[*]FIX ฟังก์ชั่นตัวกรองสัญลักษณ์ใหม่
FIX DATE: 30/11/2010 20.50 น.
[*]FIX ฟังก์ชั่นตัวกรองสัญลักษณ์ให้มากขึ้น
SS
เกริ่นนำ!
ที่จริงแล้ว MOD ตัวนี้ต้องขอบคุณเว็บเพื่อนบ้านเรา คือ ดิสคัสเวียดนามครับ ที่ได้ทำการ MOD วิธีการนี้ขึ้นมา ซึ่งต้นฉบับของเขานั้น เขาจะ MOD ให้รองรับเฉพาะภาษาเวียดนามเท่านั้น แต่จะนำเอามาใช้ในกระทู้หรือในประเทศที่เป็นภาษาไทยไม่ได้ ผมเลยได้นำมาพัฒนาต่อ ให้รองรับลิงค์หรือชื่อกระทู้ที่ต้องการให้เป็นลิงค์ภาษาไทยครับ
เว็บตัวอย่าง
http://www.thzaa.com
หลังจาก MOD นี้เสร็จลิงค์จะเป็นแบบไหน?
หลังจากที่ MOD เสร็จ ระบบของคุณก็จะเปลี่ยนใหม่เป็นการดึงชื่อกระทู้ที่คุณหรือสมาชิกได้ตั้งไว้ มาแสดงเป็นลิงค์ดิสคัสแทนครับ ซึงเราสามารถมาพัฒนาต่อเองภายหลังได้เองครับว่าจะเพิ่มการกรองตัวไหน หรือเปลี่ยน SEO ตำแหน่งใหม่ก็ได้
ลิงค์ของเว็บบอร์ด: http://www.web.com/69-1/my-forum-name-1-1.html
ลิงค์ของกระทู้: http://www.web.com/topics/my-thread-name-996-1-1.html
ขั้นตอนการ MOD
1. ดาวน์โหลดไฟล์นี้แล้วอัพโหลดทับไฟล์ตัวเก่าของตำแหน่งนี้ DISCUZ_ROOT\source\function\ ในโฮสต์ของคุณ(สำรองไฟล์ตัวเก่าก่อนอัพโหลดทับ)
2. สร้างไฟล์ .htaccess ใน DISCUZ_ROOT โดยนำโค๊ดนี้ไปวาง(หากมีไฟล์นี้อยู่แล้ว โปรดสำรองไฟล์ตัวเก่าก่อน)<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
# RewriteEngine
RewriteEngine On
RewriteBase /
# Rewrite
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-(+)-(+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(\w+)-(+)/(.*)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topics/(.*)-(+)-(+)-(+)\.html$ forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-(+)-(+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(+)-(.+)\.html$ $1.php?rewrite=$2&%1เคล็ดลับ: หากเว็บบอร์ดดิสคัสที่คุณใช้มันเป็นแบบ http://www.เว็บเธอว์.com/forum กรุณาแก้ไขไฟล์ .htaccess ในข้อความ RewriteBase / โดยแก้ตามที่คุณตั้งซับโฟลเดอร์ เช่น RewriteBase /forum
3. เสร็จแล้วอัพโหลดไปไว้ที่เดียวกับ portal.php
4. เข้าระบบแอดมิน » ทั่วไป » SEO/เซิร์ฟเวอร์หรือประสิทธิภาพ » ตั้งค่า SEO แล้วกรอกและกดเปิดใช้งานตามรูปภาพด้านล่างนี้
{fid}-{page}/{thzaaforum}.htmltopics/{thzaathread}-{tid}-{page}-{prevpage}.html5. เข้าไปยัง เครื่องมือ » อัพเดตแคช เพื่อให้ระบบได้สร้างไฟล์การตั้งค่าขึ้นมาใหม่
6. เชิญทดสอบ ตัวอย่างดูได้จาก http://www.thzaa.com
CC - สัญญาอนุญาต
http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png
อนุญาตให้ใช้ได้ตาม สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน 3.0 ต้นฉบับ.
ขอขอบคุณ
[*]ดิสคัสเวียดนาม สำหรับการเอื้อเฟื้อข้อมูลในการทำ MOD - SEO link Discuz X1.5 with Title
[*]SDC(Siamdiscuz) และ TSB(Thaiseoboard) สำหรับฟังก์ชัน PHP กรองอักขระและสัญลักษณ์แปลกๆ และเว็บไซต์อื่นๆ ที่ไม่ได้กล่าวถึง
แก้ไขครั้งสุดท้ายโดย THEZEN เมื่อ 2011-3-9 21:52
ขอบคุณมากครับ เป็นประโยชน์อย่างมากเลยครับ แจกแบบเต็มรูปแบบแล้ว
ขอบคุณมากครับ....ทั้งคุณ Mint ,banksanti ,jaideejung เลย
{:22_869:} แก้ไขครั้งสุดท้ายโดย unisexx เมื่อ 2010-11-30 19:58
ขอถามนิดนึงจ้า...
อยากทราบว่า มะก่อน google เก็บ index ลิ้งแบบเก่าไปแล้ว พอ mod เป็นแบบใหม่
ลิ้งแบบเก่าที่ google เก็บไปจะเข้ากระทู้เดิมได้ตามปกติรึเปล่า
sm928dz แก้ไขครั้งสุดท้ายโดย peampeampeam เมื่อ 2010-12-12 13:09
แก้ไขครั้งสุดท้ายโดย peampeampeam เมื่อ 2010-11-30 20:25
แก้ไขครั้งสุดท้ายโดย peampeampeam เมื่อ 2010-11-30 20:02
ขอบคุณมากๆครับบ sm898dz
ตอบกระทู้ unisexx ตั้งกระทู้
แล้วลิงค์แบบเก่าที่ว่า เป็นแบบไหนครับ
แบบนี้เหรือเปล่า hxxp://www.web.com/bbs/thread-1-1-1.html
หรือเป็นแบบนี้ hxxp://www.web.com/bbs/forum.php?mod......
หากเป็นอย่างที่กล่าวข้างต้น ไม่สามารถเข้าถึงได้ครับ
เพราะระบบตัวนี้ มันทำมาแบบ Sub-folder กล่าวคือ เมื่อ MOD ระบบนี้แล้ว คุณจะได้ hxxp://www.web.com/bbs/topics/my-thread-name-996-1-1.html ซึ่งมันได้เพิ่มคำว่า "topics/" เข้าไปต่อท้ายโดเมนคุณด้วย
หากลิงค์เก่าคุณเป็นแบบนี้ hxxp://www.web.com/bbs/thread-1-1-1.html ก็จะไม่สามารถเข้าถึงกระทู้เก่าของคุณได้ครับ
คุณต้องทำการ MOD SEO LINK ใหม่ หรือเปลี่ยนตำแหน่งใหม่ในไฟล์ .htaccess ใหม่(ศึกษาเอาเอง) ให้เป็น hxxp://www.web.com/bbs/my-thread-name-996-1-1.html ในรูปแบบนี้ จึงจะเข้าได้ ซึ่งคุณสามารถพัฒนาต่อจากที่ผมปล่อยให้โหลดก็ได้เช่นกันครับ
ที่จริงเว็บผม ก็โม SEO ให้เป็นแบบนี้ครับ hxxp://www.web.com/bbs/my-thread-name-996-1-1.html แต่ที่ผมปล่อยให้โหลดนี้ คือผมทำตามต้นฉบับของเขามาครับ เพียงแค่มาแก้ไขในส่วนของให้สามารถแสดงลิงค์ภาษาไทยได้ กรองสัญลักษณ์แปลกๆ ออกให้แค่นั้นครับ
แจ้งเตือน
ท่านใดที่โหลดไฟล์ function_core.rar ก่อนเวลา 20.50 น. ของวันนี้(30/11/2010) ให้โหลดไฟล์นี้ไปอัพทับไฟล์ของคุณใหม่อีกครั้งด้วย เพราะได้ FIX BUG เพิ่มเติม
FIX DATE: 30/11/2010 20.50 น.
FIX เพิ่มฟังก์ชั่นตัวกรองสัญลักษณ์ให้มากขึ้น เพื่อแก้ปัญหาที่กระทู้มีสัญลักษณ์แปลกปลอม จึงไม่สามารถเข้าถึงได้ แก้ไขครั้งสุดท้ายโดย unisexx เมื่อ 2010-11-30 22:06
ตอบกระทู้ jaideejung007 ตั้งกระทู้
ขอบคุณมากครับสำหรับข้อมูล ^^
ผมคงต้องโมเพิ่มใหม่ เพราะ google เก็บ url เก่าไปไม่น้อยเลยทีเดียว หามานานแล้ว sm896dz ขอบคุณมากเลย Bad Request - Invalid URL
HTTP Error 400. The request URL is invalid.มันเป็นแบบนี้ ช่วยแก้หน่ิอย sm942dz