Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20231001 Rev.8 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 4310|ตอบกลับ: 10

[X1] ถามเกี่ยวกับตัวแปรของชื่อกระทู้ครับ

[คัดลอกลิงก์]
banksanti โพสต์ 2010-7-10 19:43:25 |โหมดอ่าน
แก้ไขล่าสุดโดย banksanti เมื่อ 2010-7-10 19:45

คือว่าผมอยากจะทำ SEO ชื่อของกระทู้เป็นลิงค์ ครับ   


ตัวอย่างนะครับ


http://www.discuzthai.com/ถา ... บ-2322-1-1.html

ตัวแปรของชื่อกระทู้ปกติจะเป็น {lang thread}  

อัน SEO ที่แสดงชื่อกระทู้ ครับ  คือ

thread-{tid}-{page}-{prevpage}.html



ใครพอจะรู้ค่าตัวแปร ชื่อกระทู้บ้างครับ
MinT โพสต์ 2010-7-10 20:52:29
ตอบกลับ 1# banksanti

ผมเห็นแต่ตัวแปรอันนี้ครับ
    lang threads_all
 เจ้าของ| banksanti โพสต์ 2010-7-10 23:24:15
ตอบกลับ 2# MinT

อันนั้นน่าจะกระทู้ทั้งหมดนะครับ  

ส่วนชื่อกระทู้นั้นก็จะเป็น {lang thread}

thread-{tid}-{page}-{prevpage}.html

ผมจะทำลิงค์เป็นชื่อกระทู้ที่เป็นภาษาไทยครับ  ตรง thread มันไม่สำคัญคับ เราจะเปลี่ยนเป็นอะไรก็ได้อ่ะคับ แต่ว่าจะดึงชื่อกระทู้อัตโนมัตินั้นต้องทำไงผมไม่รู้อ่ะคับ

อย่างเช่นนะครับ

http://www.discuzthai.com/thread-20017-1-1.html

เท่ากับ

http://www.discuzthai.com/ถามเกี่ยวกับตัวแปรของชื่อกระทู้ครับ-20017-1-1.html

ลองดูซิคับ อิอิ  อยากให้มันเขียนอัตโนมัติ  อ่ะคับ
jaideejung007 โพสต์ 2010-7-10 23:42:08
ตอบกลับ 3# banksanti
ให้เปลี่ยนเป็นลิงค์ภาษาไทยหรือชื่อกระทู้ มาเป้นลิงค์อัตโนมัติ มีคนทำได้แล้ว(เป็นเว็บต่างประเทศ)

ส่วนจะทำแบบ Manual หรือมาใส่ลิงค์แบบดิสคัสไทย ที่มีชื่อกระทู้เป็นภาษาไทย อย่างที่กล่าวมา

ต้องแก้ไขในไฟล์ .htaccess
 เจ้าของ| banksanti โพสต์ 2010-7-11 00:20:41
ตอบกลับ 4# jaideejung007

นั้นแหละคับ ที่ผมกำลังหาอยู่  

ผมคิดแบบนี้นะครับน่าจะเป็น  {subject}  น่าจะเป็นชื่อของกระทู้

{subject}-{tid}-{page}-{prevpage}.html

ในส่วนของไฟล์ .htaccess

RewriteRule ^อันนี้สิสำคัญไม่รู้ว่าจะเขียนอะไร-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
Hack โพสต์ 2010-7-11 01:09:02
.htaccess เป็นแค่ตัวดัก ไม่ค่อยมีผลอะไรครับ

ตัวหลักคือ คุณต้องแก้ไข template ทุกไฟล์ โดยใส่ subject=xxxx แทรกเข้าไปในทุกลิ้ง

เช่น <a href="forum.php?mod=viewthread&tid=2&page=1&extra=1">

ปรกติจะแปลงได้เป็น <a href="thread-2-1-1.html">

ถ้าแทรก subject จะเขียนว่า  <a href="forum.php?subject=สวัสดี&mod=viewthread&tid=2&page=1&extra=1">

เพื่อแปลงเป็น <a href="สวัสดี-2-1-1.html">

ถ้าอยากได้แบบนั้นจริงๆ ก็คงต้องมานั่งไล่ template เกือบทุกไฟล์

ตัวอย่างดค๊ดผมนะครับ ที่ทำไว้แล้ว แต่เปลี่ยนใจกลับมาใช้แบบเดิม เพราะอยากเน้นคนใช้มากกว่า อันที่จริงคือ url ภาษาไทยมันไม่สวยงามเท่าอังกฤษ แล้วมันไม่เหมาะกับพวกfirefox คงต้องเลือกเอาว่าให้คนใช้ง่าย หรือให้บอทหาง่าย


ตัวนี้ ส่วนของการแปลง template ที่เพิ่มเข้าไปในฟังชั่น output ในไฟล์ function_core

                        $content = preg_replace($array['search'], $array['replace'], $content);
                        /* HACK  เพิ่มข้างล่างเข้าไป */
                        $content=siamdiscuz_com_seo_replace($content);

อ้างอิงจากฟังชั่น

  1. function siamdiscuz_com_seo_replace($content)
  2. {
  3.         global $_G;
  4.         $search=array();
  5.         $replace=array();
  6.         $search[] = "/".$_G['domain']['pregxp']['forum']."\?subject\=(.*)?&(amp;)?mod\=viewthread&(amp;)?tid\=(\d+)(&amp;extra\=(page\%3D(\d+))?)?(&amp;page\=(\d+))?"([^\>]*)\>/e";
  7.         $replace[] = "siamdiscuz_com_seo_rewrite('viewthread','\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '\\7', '\\8', '\\9', '\\10', '\\11')";
  8.         $search[] = "/".$_G['domain']['pregxp']['forum']."\?subject\=(.*)?&(amp;)?mod\=forumdisplay&(amp;)?fid\=(\w+)(&amp;page\=(\d+))?"([^\>]*)\>/e";
  9.         $replace[] = "siamdiscuz_com_seo_rewrite('forumdisplay','\\1', '\\2', '\\3', '\\4', '\\5','\\6', '\\7', '\\8')";
  10.         $search[] = "/".$_G['domain']['pregxp']['forum']."\?subject\=(.*)?&(amp;)?mod\=redirect&(amp;)?tid\=(\d+)&(amp;)?goto\=lastpost\#lastpost"([^\>]*)\>/e";
  11.         $replace[] = "siamdiscuz_com_seo_rewrite('redirect','\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '\\7', '\\8', '\\9')";       
  12.         return preg_replace($search,$replace,$content);
  13. }
  14. function siamdiscuz_com_seo_rewrite()
  15. {
  16.         $arg=func_get_args();
  17.         switch($arg[0])
  18.         {
  19.                 case 'viewthread':
  20.                         return '<a href="'.$arg[1].siamdiscuz_com_seo_format::link($arg[2],false).'-t'.$arg[5].'-'.max(1,$arg[10]).'-'.max(1,$arg[8]).'.html"'.dstripslashes($arg[11]).'>';       
  21.                 case 'forumdisplay':
  22.                         return '<a href="'.$arg[1].siamdiscuz_com_seo_format::link($arg[2],false).'-f'.$arg[5].'-'.max(1,$arg[6]).'.html"'.dstripslashes($arg[8]).'>';       
  23.                 case 'redirect':
  24.                         return '<a href="'.$arg[1].siamdiscuz_com_seo_format::link($arg[2],false).'-t'.$arg[5].'-lastpost.html#lastpost"'.dstripslashes($arg[7]).'>';       
  25.         }
  26. }
คัดลอกไปที่คลิปบอร์ด
ถ้าผมจำไม่ผิด เว็บนอกก็ยังไม่มี urlแบบนี้นะครับ ส่วนมากจะยังใช้ 7.2 กัน แม้แต่ msg2me.com

คะแนน

จำนวนผู้เข้าร่วม 1จิตพิศัย +2 Money +2 ย่อ เหตุผล
jaideejung007 + 2 + 2 คือใช้คำสั่งตัวนี้ ใ ...

ดูบันทึกคะแนน

 เจ้าของ| banksanti โพสต์ 2010-7-11 01:32:31
ตอบกลับ 6# Hack

ขอบคุณมากๆ เลยครับ แต่ว่าที่ผมอยากก็ได้ก็คือให้มันแทรกชื่อลิงค์เองอัตโนมัติเหมือน

เว็บบอร์ดตระกูล  SMF และก็ WP อ่ะคับ  ถ้าเราตั้งกระทู้ หรือว่าสร้างหัวข้อมันก็จะสร้าง ลิงค์ที่เป็นภาษาไทยเอง คับ อยากได้จริงๆ

รบกวนด้วยนะครับ
jaideejung007 โพสต์ 2010-7-11 22:37:43
ตอบกลับ 6# Hack
ขอแบบเป็นขั้นตอน ตั้งแต่เริ่มแรกได้ไหมครับ

อยากลองเล่นดูจัง(ลองในเครื่องเทียม)

วานด้วยนะครับ
Hack โพสต์ 2010-7-12 00:07:42
อธิบายยากนะ
ต้องดูในเทมเพลตว่า ลิ้งในจุดนั้น มันอ้างตัวแปรอะไรอย่ แล้วตัวแปรนั้น ส่งค่า subject มารึเปล่า
เพราะแต่ละจุด จะใช้ตัวแปร subject ไม่เหมือนกัน

ที่จริงแล้วตอนนี้พี่ก็กำลังกลับมาทำระบบurlนี่อีกครั้ง แต่ว่ามันต้้องแก้มากกว่าแค่การติดตั้ง

ยังไงรออีกนิด ถ้าทุกอย่างเข้าที่และลงตัว จะปล่อยออกมาเป็น Discuz!X เวอร์ชั่นดัดแปลงเลย
 เจ้าของ| banksanti โพสต์ 2010-7-14 14:01:14
ตอบกลับ 9# Hack

ขอดันหน่อย  ^ ^


ช่วยบอกทีนะครับ ว่าทำยังไง ผมเห็นพี่ทำได้แล้ว สิ่งนี้แหละที่จะทำให้ SEO เว็บดีขึ้น อิอิ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-5-19 15:16

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้