ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingสอบถามวิธีเปลี่ยนลิงค์จาก sitename.com/club.php?id=1 เป็น sitename.com/nameclub
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: สอบถามวิธีเปลี่ยนลิงค์จาก sitename.com/club.php?id=1 เป็น sitename.com/nameclub  (อ่าน 3578 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« เมื่อ: 08 เมษายน 2009, 14:39:51 »

 Lips Sealed

รบกวนสอบถามวิธีเปลี่ยนลิงค์ค่ะ
จาก sitename.com/club.php?id=1 เป็น sitename.com/nameclub

คือกำลังทำเว็บแฟนคลับอยู่อ่ะค่ะ   และกำลังติดปัญหาว่า ต้องการให้การเรียกหน้าคลับแต่ละครั้งเป็นรูปแบบ  ชื่อเว็บ.คอม/ชื่อคลับนั้นๆ

แต่ว่าที่ผ่านมาได้เขียนระบบไว้ว่า ให้เรียกดูหน้าเว็บจากหน้า  club.php ตามตัวแปร get ที่แทนID คลับนั้นๆ  ที่นี้พอจะให้เปลี่ยนมาเป็นแบบนี้ก็เลย นึกวิธีไม่ออกอ่ะค่ะ ว่าวิธีมีวิธีไหนบ้าง เพราะตอนนี้คิดออกแต่ว่า ต้องสร้าง โฟเดอร์ใหม่ตามชื่อคลับนั้น ๆ  สร้างหน้าหน้า Redirect ให้กลับมาที่ หน้า club.php อีกที ซึ่งถ้าเป็นไปได้ไม่ค่อยอยากใช้วิธีนี้เลยค่ะ   เพราะว่า มีคลับที่ถูกสร้างขึ้นมาเยอะ แล้ว  .... มิเช่นนั้นต้องกลับไปสร้างนั่งสร้างโพเดอร์เอง..บานเลย



ช่วยแนะนำทีนะค่ะ  .... มึนค่ะตอนนี้   .... Lips Sealed
บันทึกการเข้า

ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 08 เมษายน 2009, 14:53:02 »

อย่าง .htaccess redirect นี้เอามาใช้ กรณีนี้ได้ รึป่าวค่ะ
บันทึกการเข้า

ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 09 เมษายน 2009, 10:48:33 »

 Tongue
บันทึกการเข้า

RaulGonzales
สมุนแก๊งเสียว
*

พลังน้ำใจ: 22
ออฟไลน์ ออฟไลน์

กระทู้: 721



ดูรายละเอียด
« ตอบ #3 เมื่อ: 09 เมษายน 2009, 13:43:29 »

อย่าง .htaccess redirect นี้เอามาใช้ กรณีนี้ได้ รึป่าวค่ะ

ได้ครับเเต่ไม่รู้ทำยังไง อยากรู้เหมือนกัน Smiley
บันทึกการเข้า

ลงประกาศ ซื้อ,ขาย,เช่า,บ้าน,คอนโด,ที่อยู่ กับ www.properlive.com
css
บุคคลทั่วไป
« ตอบ #4 เมื่อ: 09 เมษายน 2009, 13:57:00 »

ลองศึกษา .htaccess ดูครับ

host ต้องรองรับ โหมด Rewrite


ไฟล์.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]

แค่นี้เองครับมันก็จะส่งค่า จาก

h-ttp://w-ww.xxxx.com/index.php?id=xx   เป็น
h-ttp://w-ww.xxxx.com/xx  แทน
บันทึกการเข้า
hermiss
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 2,761



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 09 เมษายน 2009, 14:28:55 »

/?$ มันต้องใส่ตลอดเลยเหรอ สำคัญอย่างไร
[L,QSA] หมายความว่าอะไร เห็นมีหลายตัวเหลือเกิน
ป.ล. มีที่ไหนแนะนำการเขียนเป็นภาษาไทยไหม๊อะ
บันทึกการเข้า
niceke
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 62
ออฟไลน์ ออฟไลน์

กระทู้: 1,359



ดูรายละเอียด
« ตอบ #6 เมื่อ: 09 เมษายน 2009, 16:57:10 »

ตามนี้เลยครับ

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^sitename.com/([^/]*)-([0-9]*) sitename.com/club.php?name=$1&id=$2 [L]

ถ้าจะเอาเป็นชื่อ club ด้วยต้องใส่ค่า ชื่อของ club(name) ไปด้วย
URL ก็จะได้เป็น sitename.com/clubabc-1

ถูกป่าวหว่า Huh? ลองดูและกันนะครับ Tongue
บันทึกการเข้า

เดือนละแสนไม่ใช่ฝัน เพราะเราก็ทำได้
ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 16 เมษายน 2009, 16:51:48 »

ลองศึกษา .htaccess ดูครับ

host ต้องรองรับ โหมด Rewrite


ไฟล์.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]

แค่นี้เองครับมันก็จะส่งค่า จาก

h-ttp://w-ww.xxxx.com/index.php?id=xx   เป็น
h-ttp://w-ww.xxxx.com/xx  แทน



$ index.php นี้แทนชื่อเพจเลยใช่รึป่าวค่ะ 
$1 [L,QSA] นี้แทน ค่า get ที่เดิมเป็นเลขที่คลับรึป่าวค่ะ 
แล้ว [L,QSA] คืออะไรรค่ะ

.. ท่าจะต้องศึกษาอีกเยอะ มีหนังสือ หรือแหล่งศึกษาที่เป็นภาษาไทยแล้ว รึป่าวค่ะ  เย็นนี้ว่าจะไปซื้อหนังสือแล้วค่ะเนี้ย !!


บันทึกการเข้า

ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 16 เมษายน 2009, 16:57:05 »

ตามนี้เลยครับ

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^sitename.com/([^/]*)-([0-9]*) sitename.com/club.php?name=$1&id=$2 [L]

ถ้าจะเอาเป็นชื่อ club ด้วยต้องใส่ค่า ชื่อของ club(name) ไปด้วย
URL ก็จะได้เป็น sitename.com/clubabc-1

ถูกป่าวหว่า Huh? ลองดูและกันนะครับ Tongue


ค่า $1 $2 นี้เอามาจากไหนค่ะ  คือไม่เข้าใจว่า เมื่ออยู่ในไฟล์ .htaccess แล้ว ค่า $ นี้จะเท่ากับอะไร


บันทึกการเข้า

tung148
สมุนแก๊งเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 879



ดูรายละเอียด
« ตอบ #9 เมื่อ: 16 เมษายน 2009, 16:59:51 »

ลองดูนะครับ http://www.addedbytes.com/chea...mod_rewrite-cheat-sheet-v2.pdf    Grin Grin Grin
บันทึกการเข้า
ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 16 เมษายน 2009, 19:42:15 »

ขอบคุณ ทุกๆ คนมากเลยค่ะ เบื้องต้นตอนนี้ทำได้แล้ว  แต่ ยังติดอยู่ที่ว่า ถ้าเป็นชื่อคลับภาษาไทย กับ ชื่อที่มีช่องว่า มันแสดงไม่ได้ค่ะ ทำไงดีค่ะ


บันทึกการเข้า

hermiss
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 2,761



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 16 เมษายน 2009, 20:32:56 »

เซฟไฟล์ .htaccess เป็น UTF-8 แทน ANSI นะ (ใช้ notepad ทำก็ได้) แต่ชื่อคลับต้องใช้เป็นภาษาไทยเลยนะ เอา %25%a3%20 แบบนี้มาใส่ไม่ได้มันจะ error 500
บันทึกการเข้า
ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 17 เมษายน 2009, 11:09:43 »

ต้องขอบคุณ ทุกๆ คำแนะนำมากเลยนะค่ะ  ... ตอนนี้ลังเป็นรูปเป็นร่างมากขึ้นแล้ว ค่ะ   แต่ก็ยังต้องมาข้อคำชี้แนะต่ออยู่ดี . Tongue รบกวนด้วยนะค่ะ

คือ จากที่เปลี่ยนยังใช้รูปแบบ  url/ชื่อคลับภาษาไทยและช่องว่าง ยังไม่ได้นั้น  ตอนนี้ก็ได้เปลี่ยนไฟล์ .htaccess เป็น utf-8 แล้วค่ะแล้วก็เขียนโค๊ตว่า

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([ก-ฮA-Za-z0-9-]+)/?$ club.php?cname=$1&cid=$2 [L]

แต่ก็ยัง error server  500 อยู่เฉพาะกรณีที่ระบุเป็นภาษาไทยหรือคำที่มีช่องว่างค่ะ ถ้าเป็นอังกฤษไม่มีช่องว่าง ก็ได้ปกติค่ะ

ควร แก้ไขยังไงบ้างค่ะ

ปล. ไปหาหนังสือเกี่ยวกับ .htaccess ไม่มีเลยค่ะ




บันทึกการเข้า

ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 17 เมษายน 2009, 11:58:32 »

จะเกี่ยวกันไหม ค่ะ ที่ในเวบเพจ กำหนด charset=windows-874
บันทึกการเข้า

mikeyx
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 271
ออฟไลน์ ออฟไลน์

กระทู้: 4,045



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 17 เมษายน 2009, 12:03:12 »

เข้ารหัสก่อนส่งครับ

urlrewrite
บันทึกการเข้า
ioff
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 275



ดูรายละเอียด เว็บไซต์
« ตอบ #15 เมื่อ: 17 เมษายน 2009, 12:10:24 »

เข้ารหัสก่อนส่งครับ

urlrewrite

หมายถึง เข้ารหัสจาก windows-874 มาเป็น utf-8 หรอค่ะ  Lips Sealed เข้ากันยังไงน้อออ

รึว่าจะเปลี่ยน เวบเพจ มาเป็น utf-8 เลยค่ะ ท่าจะง่ายกว่า..ลองไปทำดูก่อนค่ะ

 Lips Sealed  เปลี่ยน เพจเป็น utf-8 ก็ไม่สำเร็จค่ะ

 Shocked  หรือ ว่า ถ้าต้อง /ภาษาไทย  จะไม่มีลู่ทางทำได้เลยรึป่าวค่ะ   ข้อจำกัดป่าว อ่ะ
« แก้ไขครั้งสุดท้าย: 17 เมษายน 2009, 15:31:19 โดย ioff » บันทึกการเข้า

art4eat
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 22



ดูรายละเอียด
« ตอบ #16 เมื่อ: 14 มิถุนายน 2011, 17:22:02 »

อยากสอบถามเพิ่มเต็มคับ จากตัวอย่าง

h-ttp://w-ww.xxxx.com/index.php?id=xx   เป็น
h-ttp://w-ww.xxxx.com/ชื่อที่ตั้งเอง แล้วบันทึกลองในดาต้าเบสฟิลด์เดียวกับ  id=xx นั้นๆ   

จะมีวิธีตรวจสอบได้หรือเปล่าคับ
บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #17 เมื่อ: 14 มิถุนายน 2011, 23:22:16 »

QSA = Query String Append

คือถ้ามี query string ( สิ่งที่อยู่หลัง ? มันจะเอาเข้าไปปะท้ายด้วย )
เช่น
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]

เมื่อกรอก ( เรืยก ) -http://www.xxxx.com/xx
จะไปดึงมาจาก -http://www.xxxx.com/index.php?id=xx  

แต่เมื่อกรอก -http://www.xxxx.com/xx?_ESCAPED_FRAGMENT_=yyy
จะไปดึงมาจาก -http://www.xxxx.com/index.php?id=xx&_ESCAPED_FRAGMENT_=yyy

เกียวกับ mod_rewrite .htaccess http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

ปล ลองดู rewritemap แบบที่ใช้ text file ธรรมดา ก็น่าสนนะ http://httpd.apache.org/docs/2...od/mod_rewrite.html#rewritemap
« แก้ไขครั้งสุดท้าย: 14 มิถุนายน 2011, 23:23:24 โดย ohmohm » บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์