มาทำ Mod_Rewrite ใน SMF แบบง่ายๆ ครับ

เริ่มโดย Reality, 05 มกราคม 2010, 12:23:09

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Reality

เนื่องด้วย ปีใหม่ + ผมมาอยู่ที่นี้นานแล้ว.. ได้อะไรไปก็เยอะ ก็อยากจะตอบแทนบ้าง!
แต่พลังวัตร SEO ก็ยังไม่ถึง ก็ขออนุญาติเอาความสามารถ Programming มาตอบแทนเพื่อนๆ นะครับ :-[

วิธีนี้ไม่ใช่ Pure Rewrite นะครับ ลองอ่านดูน่าจะเข้าใจว่าทำไมผมพูดอย่างนั้น
ผลลัพท์ที่น่าจะได้
example.com/board/1-บอร์ดทดสอบ.html
example.com/topic/2-กระทู้ทดสอบ.html

ผมจับมือทำเลยนะครับ แค่ 2 อย่างก่อน (เหนื่อย)

ลองอ่าน.. ค่อยๆ ทำความเข้าใจนะครับ ประยุกต์ได้เยอะ

มีปัญหา + คำถามก็ลงไว้นะครับ ผมขอตัวไปเรียนก่อน :o

ปล. น้องผมเอาไปลงว่าใช้ได้นะครับ

-------

Update!
- ผมแก้ที่ไฟล์ MessageIndex.php -> โดยการใส่
str_replace(array(' ', '#', '+', '?', '%'), array('-', '-', '-', '-', '-'), trim( -ตัวแปร- ))
จุดประสงค์ก็คือ เปลี่ยนอักษร #,+,?,% และช่องว่าง ให้เป็น - ไปซะ เวลาผ่านลิ้งจะได้ไม่มีปัญหา
ทดสอบแล้วว่าใช้ได้ในระดับนึงนะครับ (ไม่กล้ายืนยัน 100% เพราะผมทดสอบคนเดียว)


-------
ผมใช้ Appserv 2.5.2 นะครับ เป็นตัวอย่าง
root dir: C:\AppServ\www\Lab\SMF

เอาละครับ เริ่มจาก SMF 1.1.11 เพิ่งลดสดๆ หมาดๆ เลยครับ^^"
ผมโมภาษาอังกฤษนี้แหละนะครับ ไม่ต่างกัน

เราจะลองทำทีละขั้นนะครับ ลองกัดสดๆ ขั้นตอนไหนไม่ได้ก็แก้ปัญหาไป
ขั้นแรก! ออกแบบ URL ครับ!
ในตัวอย่างผมจะใช้แบบนี้ครับ
bbslab/board/1-General-Discuzz.html <--- ใช้เวลาเลือกเว็บบอร์ด
bbslab/topic/123453-สวัสดีชาวโลก.html <--- ใช้เวลาเลือกกระทู้ครับ


ขั้นที่สอง! มั่ว .htaccess ทำ Mod_Rewrite ครับ
เพิ่มไฟล์ .htaccess ไว้ที่ root โฟลเดอร์
ในที่นี้ก็คือ -> C:\AppServ\www\Lab\SMF\.htaccess

ผมลองเขียนเนื้อหาไปว่า
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^board/(\d+)-.+\.html index.php?board=$1 [L]
RewriteRule ^topic/(.+?)-.+\.html index.php?topic=$1 [L]
</IfModule>

ลองมั่ว regexp เอานะครับ ผมพูดตรงๆ อีกแล้วว่า ผมมั่วมาคร้าบบบบ (เทพๆ อย่าแอบยิ้มนะครับผมอาย)

เรามาลอง url โดยการพิมพ์เข้าไปที่ address bar ครับ แบบในรูปเลยครับ



ปรากฏว่าหน้าเข้าบอร์ดเปลี่ยนไปตามที่คำนวณมาอย่างเนิ่นนาน หึๆ (แล้วตะกี้ใครมันว่ามั่ว(วะ))
ลอง url ของหน้ากระทู้บ้างครับ




เข้ามาได้ครับ! เป็นอันว่าการออกแบบ url ผ่านครับ!!
(ในส่วนการออกแบบ url ท่านเอาไปประยุกต์ต่อได้เองตามสบายเลยครับ ต้องฝึกแก้ mod_rewrite แค่นั้นเอง)

*Note: บางท่านอาจจะสังเกตุเห็นแล้วว่า คีย์จริงๆ ของการ mod_rewrite แบบนี้ก็คือเลขที่อยู่ข้างหน้ากระทู้เองครับ! (กับต้องลงท้ายด้วย .html)
ไอตรงส่วนข้อความ ไม่ได้เอามาคิดอะไรเลย! เป็นคำพูดหลอกๆ ให้รู้ว่าลิ้งนั่นเกี่ยวกับอะไรเฉยๆ ตัวประมวลผลจริงๆ คือเลขครับ
bbslab/board/1-General-Discuzz.html หากท่านเปลี่ยนเป็น bbslab/board/1-อ็อด-อ็อด.html ก็ยังคงเข้าได้ครับ (เลข 1 เหมือนเดิม ลงด้วย .html เหมือนเดิม)

ต่อเนื่องนะครับ ขั้นตอนที่ 3!
ขั้นตอนที่เหลืออยู่มีเพียงแค่ว่า เราจะต้องแก้ลิ้งที่แสดงในเว็บบอร์ด จากเดิมที่เป็น ?board=xx, ?topic=xx ให้เป็นในฟอแมทของเรา
ก่อนอื่นเราต้องไปเคลียร์ url หน้าแรกของบอร์ดก่อนครับ! ให้เราเปิด Sources/QueryString.php (ในที่นี้จะอยู่ตำแหน่ง C:\AppServ\www\Lab\SMF\Sources\QueryString.php)
ค้นหา -> $scripturl $boardurl '/index.php';
แล้วแก้ไขเป็น -> $scripturl $boardurl '/';

ต่อมาเริ่มจากหน้าแรกบอร์ดครับ ต้องแก้ที่ไฟล์ Sources/BoardIndex.php (ในที่นี้จะอยู่ตำแหน่ง C:\AppServ\www\Lab\SMF\Sources\BoardIndex.php)
ค้นหา -> $this_category[$row_board['ID_BOARD']] = array(
ค้นมาเรื่อยๆ จะเจอ
'href' => $scripturl '?board=' $row_board['ID_BOARD'] . '.0',
'link' => '<a href="' $scripturl '?board=' $row_board['ID_BOARD'] . '.0">' $row_board['boardName'] . '</a>'

ก็ให้แก้ไขเป็น
'href' => $scripturl 'board/' $row_board['ID_BOARD'] . '-' $row_board['boardName'] . '.html',
'link' => '<a href="' $scripturl 'board/' $row_board['ID_BOARD'] . '-' $row_board['boardName'] . '.html">' $row_board['boardName'] . '</a>'


ต่อมา ค้นหา -> $this_category[$row_board['ID_PARENT']]['children'][$row_board['ID_BOARD']] = array(
จะเจอเหมือนข้างบนเลยครับ แล้วก็แก้ด้วยวิธีเดียวกัน

มีขอระวังเล็กน้อยก็คือว่า ท่านต้องสังเกตุนะครับว่า 'link' ที่ท่านกำลังแก้ มันเป็นของ Board หรือ Topic หรือ User!
แล้วดูยังไง ?
'href' => $scripturl '?board=' $row_board['ID_BOARD'] . '.0', <--- ของบอร์ดชัดเลยครับ (?board=)
ในส่วนนี้ให้ท่านแก้แค่บอร์ดก่อนครับ ตามวิธีการด้านบน อย่าเพิ่งเก่งแก้ topic ด้วยครับ

พอแก้หมดแล้วลองรีเฟรชบอร์ด แล้วทดสอบดูครับ ดังรูป



พบว่า url เปลี่ยนไปแล้ว ก็ลองคลิกๆ ดูครับ เข้าได้จริงไหม!

ขั้นตอนนี้ เอาให้เคลียก่อนนะครับ !!

ต่อมาเราจะแก้ของ Topic ครับ โดยยังยึดที่ไฟล์เดิมครับ BoardIndex.php
คราวนี้ค้นหา ->
?topic=
จะเจอ
$this_last_post['href'] = $scripturl '?topic=' $row_board['ID_TOPIC'] . '.msg' . ($user_info['is_guest'] ? $modSettings['maxMsgID'] : $row_board['new_from']) . (empty($row_board['isRead']) ? ';boardseen' '') . '#new';

ก็แก้เป็น
$this_last_post['href'] = $scripturl 'topic/' $row_board['ID_TOPIC'] . '.msg' . ($user_info['is_guest'] ? $modSettings['maxMsgID'] : $row_board['new_from']) . (empty($row_board['isRead']) ? ';boardseen' '') . '-'.$row_board['short_subject'].'.html#new';

ผมเปลี่ยน ?topic= เป็น topic/ แล้วก็เติม '-'.$row_board['short_subject'].'.html#new'; เพื่อสร้าง title ต่อท้ายเลข 1 แล้วก็ปิดด้วย .html ตามสูตร

ค้นต่อไปคับ จะเจอ
$this_event['href'] = $this_event['topic'] == '' $scripturl '?topic=' $this_event['topic'] . '.0';

อันนี้ไม่สนใจครับ เป็นส่วยย่อยใน Calendar (ท่านจะทำก็ได้ แต่ผมไม่ทำคับ ขี้เกียจ -> เหตุผลง่ายไหมครับ)

หมดแล้วครับ สำหรับหน้าแรก ลองเปิดบอร์ดมาเลยครับ ลองกดๆ ดูว่าติดอะไรไหม ถ้าไม่ติดเราจะเข้าไปแก้อีกหน้านึงครับ (วิธีนี้แก้แค่ 2 หน้าก็พอครับ!)

--- หน้าแรกมันแค่เด็กๆ ครับ อีกหน้านึงอ้วกแน่!
คราวนี้มาแก้ที่ไฟล์ MessageIndex.php (ในที่นี้อยู่ที่ C:\AppServ\www\Lab\SMF\Sources\MessageIndex.php)

เราจะทำ Board ก่อนเหมือนเดิมนะครับ ค้นหา -> ?board=
(อันที่ผมไม่พูดถึง ผมไม่ทำนะครับ เราหวังผลเสียวอย่างเดียว ไม่ได้หวังเอาบอร์ดเทพ)

จนกว่าจะเจอ
'href' => $scripturl '?board=' $row_board['ID_BOARD'] . '.0',
'link' => '<a href="' $scripturl '?board=' $row_board['ID_BOARD'] . '.0">' $row_board['name'] . '</a>'


แก้ไขเป็น
'href' => $scripturl 'board/' $row_board['ID_BOARD'] . '-' $row_board['name'] . '.html',
'link' => '<a href="' $scripturl 'board/' $row_board['ID_BOARD'] . '-' $row_board['name'] . '.html">' $row_board['name'] . '</a>'


เจอ
'href' => $scripturl '?board=' $row['ID_BOARD'] . '.0',
'link' => '<a href="' $scripturl '?board=' $row['ID_BOARD'] . '.0">' $row['name'] . '</a>'


แก้ไขเป็น
'href' => $scripturl 'board/' $row['ID_BOARD'] . '-' $row['name'] . '.html',
'link' => '<a href="' $scripturl 'board/' $row['ID_BOARD'] . '-' $row['name'] . '.html">' $row['name'] . '</a>'


เจอ
$context['boards'][$row['ID_PARENT']]['link_children'][] = '<a href="' $scripturl '?board=' $row['ID_BOARD'] . '.0">' $row['name'] . '</a>';

แก้ไขเป็น
$context['boards'][$row['ID_PARENT']]['link_children'][] = '<a href="' $scripturl 'board/' $row['ID_BOARD'] . '-'.$row['name'].'.html">' $row['name'] . '</a>';

ที่แก้มาข้างบนจะใช้ในกรณีเป็น Child Board นะครับ - ช่างมันเถอะ

*****
ต่อมาค้นหา -> ?topic=
จนกว่าจะเจอ
'href' => $row_board['subject'] != '' $scripturl '?topic=' $row_board['ID_TOPIC'] . '.new' . (empty($row_board['isRead']) ? ';boardseen' '') . '#new' '',
'link' => $row_board['subject'] != '' '<a href="' $scripturl '?topic=' $row_board['ID_TOPIC'] . '.new' . (empty($row_board['isRead']) ? ';boardseen' '') . '#new" title="' $row_board['subject'] . '">' $short_subject '</a>' $txt[470]


แก้ไขเป็น
'href' => $row_board['subject'] != '' $scripturl 'topic/' $row_board['ID_TOPIC'] . '.new' . (empty($row_board['isRead']) ? ';boardseen' '') . '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($short_subject)).'#new' '',
'link' => $row_board['subject'] != '' '<a href="' $scripturl 'topic/' $row_board['ID_TOPIC'] . '.new' . (empty($row_board['isRead']) ? ';boardseen' '') . '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($short_subject)).'#new" title="' $row_board['subject'] . '">' $short_subject '</a>' $txt[470]


ค้นต่อไป จะเจอ
'href' => $scripturl '?topic=' $row['ID_TOPIC'] . '.new' . (empty($row['isRead']) ? ';boardseen' '') . '#new'

แก้ไขเป็น
'href' => $scripturl 'topic/' $row['ID_TOPIC'] . '.new' . (empty($row['isRead']) ? ';boardseen' '') . '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($short_subject)).'.html#new'

ยังต่อเนื่อง
$tmppages[] = '<a href="' $scripturl '?topic=' $row['ID_TOPIC'] . '.' $tmpb '">' $tmpa '</a>';

แก้เป็น
$tmppages[] = '<a href="' $scripturl 'topic/' $row['ID_TOPIC'] . '.' $tmpb '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($tmpa)).'.html">' $tmpa '</a>';

ค้นต่อปายยย
'href' => $scripturl '?topic=' $row['ID_TOPIC'] . '.0',
'link' => '<a href="' $scripturl '?topic=' $row['ID_TOPIC'] . '.0">' $row['firstSubject'] . '</a>'


แก้เป็น * (ตอนผมลองทำ หลังจากแก้ตรงนี้ url ก็ใช้ได้เลย -> การแก้ที่ผ่านๆ มาใช้ใน child board)
'href' => $scripturl 'topic/' $row['ID_TOPIC'] . '-' str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($row['firstSubject'])) . '.html',
'link' => '<a href="' $scripturl 'topic/' $row['ID_TOPIC'] . '-' str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($row['firstSubject'])) . '.html">' $row['firstSubject'] . '</a>'


ค้นอีก * (อันนี้เป็นแก้ลิ้ง "ข้อความสุดท้าย")
'href' => $scripturl '?topic=' $row['ID_TOPIC'] . ($row['numReplies'] == '.0' '.msg' $row['ID_LAST_MSG']) . '#new',
'link' => '<a href="' $scripturl '?topic=' $row['ID_TOPIC'] . ($row['numReplies'] == '.0' '.msg' $row['ID_LAST_MSG']) . '#new">' $row['lastSubject'] . '</a>'


แก้ไขเป็น
'href' => $scripturl 'topic/' $row['ID_TOPIC'] . ($row['numReplies'] == '.0' '.msg' $row['ID_LAST_MSG']) . '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($row['lastSubject'])).'.html#new',
'link' => '<a href="' $scripturl 'topic/' $row['ID_TOPIC'] . ($row['numReplies'] == '.0' '.msg' $row['ID_LAST_MSG']) . '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($row['lastSubject'])).'.html#new">' $row['lastSubject'] . '</a>'


ถึงจะใช้ได้แล้ว แต่ก็ยังค้นหาต่อไป (เผื่อมันไปติดกรณีไหนสักแห่ง -> อยากรู้ท่านต้องอ่าน Comment ครับ -> ผมขี้เกียจแปล -> ง่ายไหมครับ)
'new_href' => $scripturl '?topic=' $row['ID_TOPIC'] . '.msg' $row['new_from'] . '#new',

แก้ไขเป็น
'new_href' => $scripturl 'topic/' $row['ID_TOPIC'] . '.msg' $row['new_from'] . '-'.str_replace(array(' ''#''+''?''%'), array('-''-''-''-''-'), trim($row['firstSubject'])).'#new',

เป็นอันว่าเสร็จนะครับ!! อันที่จริงจะพบว่าแก้ไม่ยากเลยถ้าทำ .htaccess ออกมาได้แล้วก็อยู่ที่ขั้นตอนการแก้ไขธีมเท่านั้น
ว่าจะให้มันแสดงลิ้งยังไง ซึ้งส่วนนี้ลองแก้ดูเองได้ครับ! ดู Syntax ไม่ให้ Error แล้วก็ลองรีเฟรชดูเอาเลย ว่า url เป็นไปตามที่เราต้องการไหม!!

แค่นี้ก็ใช้ได้ในระดับหนึ่ง ผมขอทิ้งทวนไว้ให้ลองทำนะครับ
- แก้ "linktree" ให้แสดง url เป็น mod_rewrite
- แก้ subject ของ reply message เป็น subject หลักของ topic นั้นๆ
- ประยุกต์ใช้กับการแสดงรายละเอียด user ต่างๆ

ลองแก้ดูครับไม่ยาก ^^"

--
ขอลง Original Post ไว้หน่อยนะครับ ผมละกลัวจริงๆ ว่ามันจะกลายเป็นผมมาลอกข้อความจากไทยเสียว (ก็บอทแรงซะ :wanwan001:)
Original Post: http://www.lastwordz.net/blog/SMF-Simple-Mod-Rewrite.htm
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

tapo

ยังอ่านไม่จบ แต่ก็ขอ +1 ให้ก่อนในน้ำใจอันดีงามครับ  :wanwan003:


redbulls

ของผมมีปัญหา คือ พอเว้นช่องว่าง มันจะเปงแบบนี้ครับ
โดย%20i18up.html
ทำไงถึงให้เว้นช่องว่าง แล้วไม่มี %20
[direct=http://www.สูตรทําอาหาร.com/]สูตรทำอาหาร[/direct] [direct=http://www.dekapp.com/]เว็บสำหรับแอปพลิเคชัน Android App เจ๋งๆ[/direct] [direct=http://www.dekapp.com/]เว็บสำหรับแอปพลิเคชัน[/direct] [direct=http://www.dekapp.com/]Android App เจ๋งๆ[/direct] [direct=http://www.dekapp.com/sitemap.xml]sitemap[/direct]

Reality

ใช้ ฟังชันท์ trim() ครอบไว้ก็ได้ครับ
ตัวอย่าง

เจอ
'href' => $scripturl '?board=' $row['ID_BOARD'] . '.0',
'link' => '<a href="' $scripturl '?board=' $row['ID_BOARD'] . '.0">' $row['name'] . '</a>'


แก้ไขเป็น
'href' => $scripturl 'board/' $row['ID_BOARD'] . '-' trim($row['name']) . '.html',
'link' => '<a href="' $scripturl 'board/' $row['ID_BOARD'] . '-' trim($row['name']) . '.html">' $row['name'] . '</a>'


หรืออาจจะใช้ str_replace(' ', '-', $row['name']) ก็ได้ครับ ขออนุญาติตอบสั้นๆ ก่อน แล้วตอนเย็นจะหาข้อผิดพลาดให้ได้หมดครับ
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

maxph

[direct=http://www.tkbuilder.com]รับสร้างบ้าน[/direct] [direct=http://www.zuzaaclub.com/music/]ฟังเพลง[/direct] [direct=http://oh.zuzaaclub.com]โปรโมทเว็บไซต์ฟรี[/direct] [direct=http://game.zuzaaclub.com/]เกมส์[/direct]

ด่วน ขายเว็บลงประกาศขายสินค้า pr2 ราคา 8000 บาท พร้อมโฮสและโดเมนให้อีก 1 ปีใครสนใจ pm ถามได้ครับ

redbulls

ขอลองก่อน +1 ให้เลยครับ เพราะผม หาวิธีแก้ มาตั้งแต่ปีที่แล้ว ยังไม่ได้.
[direct=http://www.สูตรทําอาหาร.com/]สูตรทำอาหาร[/direct] [direct=http://www.dekapp.com/]เว็บสำหรับแอปพลิเคชัน Android App เจ๋งๆ[/direct] [direct=http://www.dekapp.com/]เว็บสำหรับแอปพลิเคชัน[/direct] [direct=http://www.dekapp.com/]Android App เจ๋งๆ[/direct] [direct=http://www.dekapp.com/sitemap.xml]sitemap[/direct]


ก้ามปู

ช่วยเขียน robot.txt กันไม่ให้ dup ให้เพื่อนๆหน่อยสิครับ เดี๋ยวเอาไปใช้ทั้งดุ้น เนื้อหาจะซ้ำกันทั้งเว็บได้
ตอนนี้ผมไม่ค่อยว่างตอบอะไรใครนะครับ เพราะไม่ได้เข้าบอร์ดเลย

Reality

#9
อ้างถึงจาก: redbulls ใน 05 มกราคม 2010, 12:49:15
ของผมมีปัญหา คือ พอเว้นช่องว่าง มันจะเปงแบบนี้ครับ
โดย%20i18up.html
ทำไงถึงให้เว้นช่องว่าง แล้วไม่มี %20
ผมแก้ปัญหาโดยการแทนช่องว่างด้วย - นะครับ เพราะถ้าปล่อยเป็นช่องว่างยังไงมันก็จะเข้ารหัสเองอัติโนมัติอยู่ดีเวลา GET (พฤติกรรมของ browser)
ใช้โค๊ดนี้ครับ
str_replace(array(' ''#''+''?'), array('-''-''-''-'), trim($row['name'], chr(160)." \t\n\r\0\x0B"))
**แก้ไขแล้วที่กระทู้แรกเลยนะครับ

อ้างถึงจาก: amulet ใน 05 มกราคม 2010, 13:32:40
ถ้าเอาคำว่า board กับ topic ออกจะแหล่มมากเลยครับ
แล้วแต่คุณจะดีไซน์ url นะครับ + แล้วแต่ความสามารถในการทำ .htaccess
ส่วนตัวที่ผมใช้ topic กับ board เพราะผมว่ามันแยกกันชัดเจนดี ดูแล้วรู้เรื่องว่าจะเข้ากระทู้ไหน..
แต่ไม่แน่ก็อาจหาวิธีดีไซน์ให้มันสั้นลง แต่ยังเสียวซี๊ด (ก็ยังคิดไม่ออก ต้องใช้ไปสักพักก่อนครับ)

อ้างถึงจาก: ก้ามปู ใน 05 มกราคม 2010, 13:36:59
ช่วยเขียน robot.txt กันไม่ให้ dup ให้เพื่อนๆหน่อยสิครับ เดี๋ยวเอาไปใช้ทั้งดุ้น เนื้อหาจะซ้ำกันทั้งเว็บได้
มัน dup ยังไงเหรอครับ ชื่อหัวข้อกระทู้หรืออะไรก็เป็นไปตามเนื้อหาของบอร์ดนั้นๆ ครับ อันนี้ไม่ค่อยเข้าใจครับ



สรุป ใครทดสอบแล้วไม่เวิร์ค, ติดอะไร ลองทิ้งคำถามไว้ครับ
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

Putter™

[direct=https://hostings.ruk-com.in.th]Ruk-Com Hosting (IAAS)[/direct]
[direct=https://ruk-com.cloud]Ruk-Com Cloud (PAAS)[/direct]
รีวิวโฮสติ่ง Ruk-Com  จากสมาชิก THAISEO

ไม่พอใจยินดีคืนเงินเต็มจำนวนทุกบริการ

Putter™

ลงเสร็จแล้วครับ ผ่านไปได้ด้วยดีครับ

ตัวอย่างมาดูได้ตามลายเซ็นครับ


:wanwan020: :wanwan020: :wanwan020: :wanwan020:
[direct=https://hostings.ruk-com.in.th]Ruk-Com Hosting (IAAS)[/direct]
[direct=https://ruk-com.cloud]Ruk-Com Cloud (PAAS)[/direct]
รีวิวโฮสติ่ง Ruk-Com  จากสมาชิก THAISEO

ไม่พอใจยินดีคืนเงินเต็มจำนวนทุกบริการ

expertduck

แจ่มครับ  :wanwan016:

ปล. $url =  preg_replace('/[^a-z0-9ก-ฯ\-]*/si','-',$url); :wanwan020:

...ใส่ไรไม่ได้เลย อิอิ

Reality

ขอบคุณที่ช่วยหนุนคับ น้องรัก

พี่นึกว่าจะแป๊กซะแล้ว :wanwan004:


ตัวอย่างดูได้ที่ -> http://www.ruk-com.in.th/ นะครับ ท่านจะลองตั้งกระทู้ทดสอบก็แล้วแต่ครับ น้องผมบอกว่าเปิดให้ทดสอบเต็มที่ :wanwan002:
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

Reality

อ้างถึงจาก: expertduck ใน 06 มกราคม 2010, 00:16:59
แจ่มครับ  :wanwan016:

ปล. $url =  preg_replace('/[^a-z0-9ก-ฯ\-]*/si','-',$url); :wanwan020:


ขอบคุณครับ

อันนี้ท่านหมายถึงใช้ output buffering สุดท้ายมาใช้ใช่ไหมครับ


ผมไม่รู้ว่าความเร็วมันจะต่างกันไหมเนี้ยสิ :P
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

mastergtx

Rewrite แบบดิบๆ หน้าสนใจเหมือนกัน
ทำเว็บฝรั่ง

Reality

อ้างถึงจาก: mastergtx ใน 06 มกราคม 2010, 01:01:39
Rewrite แบบดิบๆ หน้าสนใจเหมือนกัน
มันจะมี rewrite แบบ pure อีกครับ (ในลิ้งจะไม่มีตัวเลข)

เพียงแต่ว่าถ้าเทียบความยาก/ง่ายแล้ว..
แบบนี้จะง่ายกว่าพอสมควรครับ แล้วประยุกต์ได้แล้วแต่ไอเดียผู้นำไปใช้เลย..

url จะยาวกว่าแบบ pure เล็กน้อย แต่ก็เสียวได้หนักเหมือนกันนะ
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

Nongkhai_tong

ใช้ได้กับ smf 2.0 หรือเปล่าคตรับ

jiw

ยังไม่อ่านจบเช่นกัน


บวกหนึ่ง ไปก่อน



Reality

อ้างถึงจาก: Nongkhai_tong ใน 06 มกราคม 2010, 03:49:43
ใช้ได้กับ smf 2.0 หรือเปล่าคตรับ
น่าจะไม่ได้แน่นอนครับ

เพราะผมโมกับ SMF 1.1.11 (อัพเป็น 2 มันแก้ไขเยอะ)
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]