markyoyoyo โพสต์ 2014-3-24 00:39:04

SEO.link.DiscuzX3.1[All]

แก้ไขครั้งสุดท้ายโดย markyoyoyo เมื่อ 2014-3-24 00:50

จากกระทู้ของท่าน
jaideejung007
[เนื้อหานี้ใกล้เคียงกับ http://www.discuzthai.com/forum.php?mod=viewthread&tid=28082 เกือบทั้งหมด]

อ่านก่อน
คือผมทำ Link SEo หรือ ลิงค์ที่มีชื่อกระทู้ติดมาในลิงค์ด้วย
แล้วมันเกิดปัญญาก็คือตัวไฟล์ function_core.php ของ X2 เนี้ย มันไม่เข้ากับ X3 X3.1 พอใช้แล้วเกิดหน้าขาว เอาแล้วไงงานเข้า เลยตั้งกระทู้นี้ขึ้นมาเพื่อจะแนะนำคนที่เกิดปัญหาที่คล้ายกับผม

ถามว่าทำไมตรงแทรกเว็บ http://tny.cz/151cf5fc ด้วย เพราะว่าพอ code ลงเนี้ยเกิดโค้ดสูญหายไปบ้างส่วนเลยขอทำแบบนี้และกันผมแก้ไม่ได้

ตัวอย่างภาพ

อาจจะไม่ Get เอาเป็นว่าขอใช้ภาพของ jaideejung007 นะครับ
http://www.discuzthai.com/forum.php?mod=attachment&aid=NDEzMzR8ZTNmMTY1NDR8MTM5NTU5NDUyN3w0MDg3MnwyODA4Mg%3D%3D&noupdate=yes
http://www.discuzthai.com/forum.php?mod=attachment&aid=NDEzMzV8NTZmNTYwMzR8MTM5NTU5NDUyN3w0MDg3MnwyODA4Mg%3D%3D&noupdate=yes
ขอบคุณภาพจาก jaideejung007

วิธีติดตั้ง [อันนี้เป็นวิธีเดิมของท่าน jaideejung007 แต่จะแตกต่างกันตรงการแก้ไขไฟล์ function_core.php ในกระทู้ของท่าน jaideejung007จะให้โหลดไปทับเลย ]
1.1)เปิดไฟล์ function_core.php [อยู่ใน DISCUZ_ROOT\source\function\ ] ขึ้นมา สำรองไฟล์ทุกครั้งนะครับ
ค้นหา
define('DISCUZ_CORE_FUNCTION', true);

1.2)ใส่ โค้ดนี้ไว้ด้านล่าง
http://tny.cz/151cf5fc


1.3) ค้นหา
'{page}' => $page ? $page : 1,
หรือแค่
'{page}'
แล้วใส่โค้ดนี้ไว้ด้านล่าง
'{thzaaforum}' => locdau(DB::result_first("SELECT name FROM ".DB::table('forum_forum')." WHERE fid='$fid'")),
เช่น
if($type == 'forum_forumdisplay') {
                list(,,, $fid, $page, $extra) = func_get_args();
                $r = array(
                        '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid],
                        '{page}' => $page ? $page : 1,
                        '{thzaaforum}' => locdau(DB::result_first("SELECT name FROM ".DB::table('forum_forum')." WHERE fid='$fid'")),
                );
1.4) ค้นหา
'{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage : 1,
หรือ
'{prevpage}'
แล้วใส่โค้ดนี้ไว้ด้านล่าง
'{thzaathread}' => locdau(DB::result_first("SELECT subject FROM ".DB::table('forum_thread')." WHERE tid='$tid'")),
เช่น
} elseif($type == 'forum_viewthread') {
                list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
                $r = array(
                        '{tid}' => $tid,
                        '{page}' => $page ? $page : 1,
                        '{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage : 1,
                        '{thzaathread}' => locdau(DB::result_first("SELECT subject FROM ".DB::table('forum_thread')." WHERE tid='$tid'")),
                );

หากไม่เข้าใจด้านบน มาดูแบบย่อ

ค้นหา
define('DISCUZ_CORE_FUNCTION', true);

ใส่ โค้ดนี้ไว้ด้านล่าง
http://tny.cz/151cf5fc


ค้นหา
function rewriteoutput($type, $returntype, $host) {
        global $_G;
        $fextra = '';
        if($type == 'forum_forumdisplay') {
                list(,,, $fid, $page, $extra) = func_get_args();
                $r = array(
                        '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid],
                        '{page}' => $page ? $page : 1,
                );
        } elseif($type == 'forum_viewthread') {
                list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
                $r = array(
                        '{tid}' => $tid,
                        '{page}' => $page ? $page : 1,
                        '{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage : 1,
                );
แทนด้วย
function rewriteoutput($type, $returntype, $host) {
        global $_G;
        $fextra = '';
        if($type == 'forum_forumdisplay') {
                list(,,, $fid, $page, $extra) = func_get_args();
                $r = array(
                        '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid],
                        '{page}' => $page ? $page : 1,
                        '{thzaaforum}' => locdau(DB::result_first("SELECT name FROM ".DB::table('forum_forum')." WHERE fid='$fid'")),
                );
        } elseif($type == 'forum_viewthread') {
                list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
                $r = array(
                        '{tid}' => $tid,
                        '{page}' => $page ? $page : 1,
                        '{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage : 1,
                        '{thzaathread}' => locdau(DB::result_first("SELECT subject FROM ".DB::table('forum_thread')." WHERE tid='$tid'")),
                );


static/image/hrline/4.gif



ส่วนนี้เหมือนของท่าน jaideejung007 ทุกประการ
2)สร้างไฟล์ .htaccess ใน DISCUZ_ROOT โดยนำโค๊ดนี้ไปวาง (โปรดสำรองไฟล์)
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
# RewriteEngine
RewriteEngine On

RewriteBase /x2

# 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/ultrax กรุณาแก้ไขไฟล์ .htaccess ในข้อความ "RewriteBase /x2" โดยแก้ตามที่คุณตั้งซับโฟลเดอร์ เช่น เป็นแบบนี้ "RewriteBase /ultrax"
เสร็จแล้วอัพโหลดไปไว้ที่เดียวกับ connect.php
3)เข้าลิงค์นี้ http://www.เว็บเธอว์.com/admin.php?action=setting&operation=seo แล้วกรอกและกดเปิดใช้งานตามรูปภาพด้านล่างนี้

http://www.discuzthai.com/forum.php?mod=attachment&aid=NDEzMzd8MTE3ZGE2Yzd8MTM5NTU5NDUyN3w0MDg3MnwyODA4Mg%3D%3D&noupdate=yes
{fid}-{page}/{thzaaforum}.html
topics/{thzaathread}-{tid}-{page}-{prevpage}.html
4)เข้าไปยัง http://www.เว็บเธอว์.com/admin.php?action=tools&amp;operation=updatecache เพื่อให้ระบบได้สร้างไฟล์การตั้งค่าขึ้นมาใหม่
เสร็จสิ้นการตั้งค่า

ทั้งนี้ ขอขอบคุณข้อมูลจาก jaideejung007จากกระทู้ SEO.link.Discuz.X2.with.Title.Inc.SS - ลิงค์เสียวดิสคัส X2 พร้อมภาพปลากอบ
http://www.discuzthai.com/thread-28082-1-1.html
(ที่มา: Discuz Thai)

bomlovesom โพสต์ 2014-3-27 20:56:13

function_core.php ที่แก้ของ X3.1 นี่ของวันที่ล่าสุดหรือเปล่าครับ 2014 - 03 - 01

jaideejung007 โพสต์ 2014-4-5 18:22:14

แต่ก่อน ผมชอบนะ ลิงก์เป็นชื่อกระทู้

แต่ตอนนี้ ผมเห็นแล้ว ไม่มีผลต่อ SEO เท่าไหร่นัก ก็เลยเลิกทำ(คอนเทนต์ต้อง Unique ด้วยนะ)

แถมเวลาคัดลอกลิงก์ ก็ยาวเป็นห่างว่าวอีก

สู้ xxx.com/topic/1234/1 ดูอ่านง่ายและกระชับกว่า อิๆ

ปล. อย่างว่าคนชอบไม่เหมือนกันเนาะ จึงเล่าสู่กันฟัง ^_^

dreamt451 โพสต์ 2014-4-15 23:32:48

แก้ไขครั้งสุดท้ายโดย dreamt451 เมื่อ 2014-4-15 23:44

ทำแล้วไม่มีอะไรเปลี่ยนแปลงเลยอ่าครับ
ยังคงเป็น
forum.php?mod=forumdisplay&fid=2 เหมือนเดิมครับ ทำตามทุกขั้นตอนแล้วนะครับ

vituocgia โพสต์ 2014-5-7 15:45:46

OK let me see
Thank you anyway

soipradit โพสต์ 2015-12-7 23:11:53

jaideejung007 ตอบกลับเมื่อ 2014-4-5 18:22
แต่ก่อน ผมชอบนะ ลิงก์เป็นชื่อกระทู้

แต่ตอนนี้ ผมเห็ ...

ขอวิธีทำแบบนี้ได้ไหมครับ ขอบคุณครับ
หน้า: [1]
ดูในรูปแบบกติ: SEO.link.DiscuzX3.1[All]