สร้างเว็บโดยการดึงข้อมูลจาก MySQL ตาม id แล้ว save ไฟล์ ชื่อหัวข้อบทความ.html

เริ่มโดย gwz01, 05 มิถุนายน 2008, 12:19:39

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

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

gwz01

สร้างเว็บโดยการดึงข้อมูลจาก MySQL ตาม id  แล้ว save ไฟล์
ชื่อหัวข้อบทความ.html

มาจาก: กระทู้ สร้างเว็บ 120,000 หน้า

??? คือ ผมอยากรู้ว่าทำยังไงครับ แล้วผมต้องทำตั้ง 120,000 หน้า เลยเหรอครับ

ใครก็ได้ช่วยผมที่ หรือ ขอโค้ดหรือตัวอย่างที่เสร็จสมบูรณ์ก็ได้ครับ  :'(

ขอขอบคุณล่วงหน้าครับ ใครที่ช่วยจะเป็นพระคุณอย่างยิ่ง :-*

catz001


gwz01

แล้วจะทำให้มันขึ้นเป็น หัวข้อบทความได้มั้ยครับ

ตัวอย่างปกติมันจะเป็น
http://localhost/gwz/index.php?id=111

คือจะให้มันแสดงเป็นหัวข้อบทความเพียวๆเลยครับ  ไม่เอาเลขไอดี

ช่วยหน่อยครับผม

ขอบคุณทุกๆคนที่มาตอบนะครับ

naruphos

อ้างถึงจาก: gwz01 ใน 05 มิถุนายน 2008, 12:47:38
แล้วจะทำให้มันขึ้นเป็น หัวข้อบทความได้มั้ยครับ

ตัวอย่างปกติมันจะเป็น
http://localhost/gwz/index.php?id=111

คือจะให้มันแสดงเป็นหัวข้อบทความเพียวๆเลยครับ  ไม่เอาเลขไอดี

ช่วยหน่อยครับผม

ขอบคุณทุกๆคนที่มาตอบนะครับ


ใช้จะใช้ Mod_Rewrite ตรง 111 ต้องเปลี่ยนเป็นชื่อบทความครับ

etgsgroup

เห็นเขาเขียนมาอย่างนั้น แต่ยังไม่มีคนเอา สคริปของ mod_rewrite มาแจกเลยครับ รออยู่เหมือนกัน เขียนเองก็ไม่เป็นกรรม
ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว

makoto

[direct=https://www.kasetorganics.org]เกษตรปลอดสารพิษ[/direct] [direct=https://kaset.vwander.com]ผักสวนครัวรั้วกินได้[/direct] [direct=https://www.kasetorganic.com/knowledge/avocado/]ปลูกอะโวคาโด[/direct]

naruphos

อ้างถึงจาก: gwz01 ใน 05 มิถุนายน 2008, 12:47:38
แล้วจะทำให้มันขึ้นเป็น หัวข้อบทความได้มั้ยครับ

ตัวอย่างปกติมันจะเป็น
http://localhost/gwz/index.php?id=111

คือจะให้มันแสดงเป็นหัวข้อบทความเพียวๆเลยครับ  ไม่เอาเลขไอดี

ช่วยหน่อยครับผม

ขอบคุณทุกๆคนที่มาตอบนะครับ


server ต้องใช้ Mod_Rewrite ได้นะครับ ลองใช้คำสั่ง phpinfo(); ดูครับ
ถ้าใช้ได้จะมี Loaded Modules บอกครับ ตย. Server โฮสติ้งผม
http://www.deetoday.com/phpinfo.php

หลักการทำงานของ Mode_Rewrite ก็คือเมื่อมีการพิมพ์ Url ที่ Address Bar มันจะวิ่งไปที่ไฟล์ .htaccess เพื่อเปรียบเทียบเงื่อนไขก่อน แล้วทำการแปลงค่าที่ได้เป็นไปตามที่เรากำหนด

ที่ไฟล์ .htaccess
RewriteEngine On
RewriteBase /gwz/

RewriteRule ^(.*)$ index.php?id=$1 [R]

อธิบาย:
^ = บอกตำแหน่งเริ่มต้นของการเก็บข้อมูล
$ = บอกตำแหน่งสิ้นสุดการเก็บข้อมูล
( ) = คือเซ็ตตัวแปรที่เราต้องนำไปใช้ ซึ่งถ้ามีหลาย ( ) เซ็ตตัวแปรที่ได้ก็จะเป็น $1, $2, $3 ไปเรื่อยๆ

^(.*)$ สีแดง คือ URL ที่ผู้ใช้งานพิมพ์เข้ามาใน Address Bar
index.php?id=$1 สีน้ำเงิน คือ ไฟล์ที่เราเรียกมาประมวลผล แล้วแสดงกลับไปในเบราเซอร์ โดยผู้ใช้งานจะไม่รู้กระบวนการนี้

แหล่งอ้างอิงครับ
http://www.poakpong.com/1010

ball6847

ถ้าแบบเป็นชื่อบทความอย่างเดียว ผมว่ามันยุ่งยากเอาเรื่องนะคับ เพราะ ที่เค้าใช้ id เพราะว่ามันเป็นการเรียกแบบตรงๆที่สุดแล้ว ถ้าเรียกออกมาด้วยชื่อบทความ ผิดตัวอักษรเดียวมันก็ไม่ออกแล้ว แถมชื่อบทความใน url ก็ต้องเป็นแบบที่ถูกต้องกับรูปแบบของ url คืออาจจะมีการ ใช้ - หรือ _ แทนช่องว่างระหว่างคำ ส่วนตัวแปลกๆก็ต้องถูก url encode จะใช้ชื่อไฟล์ไปเรียกจากฐานข้อมูลมันก็ทำให้ยากเข้าไปใหญ่

ผมว่าถ้าจุดประสงค์หลักของเจ้าของกระทู้คือ ต้องการให้มีชื่อบทความอยู่ใน url ด้วย ผมว่าใช้ url รูปแบบนี้ดีกว่า

h--p://domain.com/hello-world_1234.html

RewriteRule ก็เป็นแบบนี้แทน

RewriteRule _([\d]*)\.html index.php?id=$1 [R]

จากตัวอย่าง คือ บทความชื่อไรช่างมัน เอาแค่ตัวเลขท้ายสุด เพราะงั้น ถ้ามาจาก helloworld_1234.html หรือ goodbyeworld_1234.html มันก็จะส่งไปหา index.php?id=1234 หมด

ไม่ได้อย่าว่าผมนะ เพราะผมถนัดแต่เรื่องมั่วๆ อิอิ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

gwz01

 8) ขอบคุณทุกๆท่านที่มาตอบครับผม จุดประสงค์ที่ถามเพื่อที่จะทำ seo
ถ้ามีข้อมูลอีกก็มาช่วยตอบกันด้วยนะครับ ช่วยๆกันๆนะครับ
เพื่อผมและเพื่อนๆทุกคน ขอบคุณมากครับ  :-*

หูกาง

ทำแบบผมสิครับง่ายดีไม่ต้องแปลงอะไรมาก เวลาดึงก็ดึงเป็น id ปกติ แต่เราต่อท้ายการดึงข้อมูลด้วยการโชว์ชื่อของ title หรือ ชื่อของบทความนั้นๆ ไปด้วยการเติมตัวแปล title ต่อท้าย id ของเรายกตัวอย่างเช่น

บทความผมชื่อ my book ใน db เก็บเป็นหมายเลข id=2

เวลาดึงปกติจะเป็น http://xxxxxxxx.com/show.php?id=2

ให้เติมชื่อบทความต่อไปด้วยโดยไม่มีผลกับการดึงข้อมูลจาก db ก็จะเป็น http://xxxxxxxx.com/show.php?id=2&title=my book เป็นต้น

ซึ่งเราต้องทำ 2 อย่างคือ
1.เก็บชื่อบทความไว้ในตัวแปลก่อนเช่น $title=row[title]; (ดึงข้อมูลจาก db มาใส่ตัวแปล title)
2.เติม code เพิ่มเวลาจะวิ่งไปที่บทความนั้นๆต่อท้าย id ดังที่แสดงในตัวอย่างด้านบนด้วยการเติมเครื่องหมาย & แล้วตามด้วยตัวแปลอะไรก็ได้ตามใจชอบเช่น title เป็๋นต้นแล้วให้มีค่าเท่ากับตัวแปลที่ดึงมาจากข้อ 1 เราก็จะได้ code ว่า &title=$title

เวลาเขียน code ตอนจะลิงค์ก็จะเป็น <a href="http://xxxxxxxx.com/show.php?id=2&title=$title">click now</a>

ปล.วิธีนี้ผมไม่แน่ใจว่ามีผลกับ SEO มากแค่ไหนนะครับแต่ตอน search ด้วย google แล้วมันติด index ได้ติด index ดีไม่แพ้พวกที่เป็นไฟล์ html เลยแหละ คริๆ หรือจะดูตัวอย่างจากเว็บ lcd tv ของผมตามลายเซ็นก็ได้ไม่หวงจ้า (แต่อย่ากระหน่ำกดแอตผมละเดียวไม่มีที่ลองวิชาแปลกๆ อิอิี)


ตัวอย่างการติด index
http://www.google.co.th/search?hl=th&q=+LA32A650A1R+32LG60UR&btnG=%E0%B8%84%E0%B9%89%E0%B8%99%E0%B8%AB%E0%B8%B2%E0%B9%82%E0%B8%94%E0%B8%A2+Google&meta=
:-[
[direct=http://easylotto.in.th]สูตรเลขยี่กี สูตรหวย สูตรเลขหุ้น[/direct]