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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยหน่อยครับ เรื่อง htaccess (mode_rewrite)
หน้า: [1] 2  ทั้งหมด   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยหน่อยครับ เรื่อง htaccess (mode_rewrite)  (อ่าน 3099 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« เมื่อ: 30 มีนาคม 2013, 20:26:45 »

index.php
โค๊ด:

<?php


//get data from database
$sql ="SELECT * FROM article ORDER BY id desc LIMIT {$startpoint} , {$limit}";
$result mysql_query($sql);

while(
$row =mysql_fetch_array($result) ){

 
$title $row['title'];
 
$date $row['date'];
 
$id $row['id'];
  
   
echo(
"<table>");
  
 echo 
"<tr>";

echo 
"<td class='t'>";
 echo 
"<a href='show.php?id=$id'>$title</a>";
echo 
"</td>" ;
.
.
.

?>




show.php
โค๊ด:
<?php

// get id from index page 

$ar_id $_GET['id'];
$bad_id mysql_real_escape_string($ar_id);

//then select article from database

$sql "SELECT * FROM article WHERE id ='$bad_id'";
$result mysql_query($sql);
$output mysql_fetch_array($result);
 
 
$title $output['title'];
 
$content $output['article'];
 
$date $output['date'];
.
.
.
?>


แล้วได้ show.php?id=1234
อยากเปลี่ยนเป็น show/1234.html

นี้ code rewrite ครับ
โค๊ด:
RewriteEngine On

RewriteRule ^show/(.*).html /show.php?id=$1


แต่มันไม่ได้ต้องแก้ตรงไหนครับ  wanwan017 wanwan017
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
MapTwoZa
ก๊วนเสียว
*

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

กระทู้: 366



ดูรายละเอียด
« ตอบ #1 เมื่อ: 30 มีนาคม 2013, 21:35:57 »

RewriteRule ^show/(.*).html$ /show.php?id=$1 [L]

ถ้าจะเช็คว่ามัน rewrite ถูกป่าวก็ให้แก้ข้างหลังเป็น [L,R=301]
แล้วดูว่า url มันเปลี่ยนไปตามต้องการป่าว
บันทึกการเข้า

Good code quality Developer Cheesy
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #2 เมื่อ: 30 มีนาคม 2013, 21:45:03 »

RewriteRule ^show/(.*).html$ /show.php?id=$1 [L]

ถ้าจะเช็คว่ามัน rewrite ถูกป่าวก็ให้แก้ข้างหลังเป็น [L,R=301]
แล้วดูว่า url มันเปลี่ยนไปตามต้องการป่าว

ยังไม่ได้ครับ ยังเป็น show.php?id=1234 
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
Putter™
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,103



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 30 มีนาคม 2013, 21:47:56 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/([^/]*)\.html$ /show.php?id=$1 [L]

(มั้ง)  wanwan013
« แก้ไขครั้งสุดท้าย: 30 มีนาคม 2013, 21:49:01 โดย Putter™ » บันทึกการเข้า

Ruk-Com Hosting (IAAS)
Ruk-Com Cloud (PAAS)
รีวิวโฮสติ่ง Ruk-Com  จากสมาชิก THAISEO

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

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #4 เมื่อ: 30 มีนาคม 2013, 21:52:16 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/([^/]*)\.html$ /show.php?id=$1 [L]

(มั้ง)  wanwan013

ยังไม่ได้ครับ Lips Sealed Lips Sealed
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
miilo
ก๊วนเสียว
*

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

กระทู้: 212



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 30 มีนาคม 2013, 22:01:48 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/([^/]*)\.html$ /show.php?id=$1 [L]

+ให้ด้วนน่ะถ้าได้ ลองดู
บันทึกการเข้า

tkcomsci
ก๊วนเสียว
*

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

กระทู้: 257



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 30 มีนาคม 2013, 22:08:25 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/(.*).html show.php?id=$1

ลองแบบนี้ดู จ๊ะ
บันทึกการเข้า

แบตสำรองของแท้ราคาถูก สนใจ PM มีระบบ ประมูล ขาย ทดลองก่อนซื้อ  สคริปมากมายสอบถามได้ ประกาศขายของฟรี
UnLock UnlimiT
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,899



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 30 มีนาคม 2013, 22:09:39 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/([A-Za-z0-9]+).html$ show.php?id=$1
« แก้ไขครั้งสุดท้าย: 30 มีนาคม 2013, 22:10:02 โดย UnLock UnlimiT » บันทึกการเข้า

งดรับซื้อ google ads ครับ Smiley
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #8 เมื่อ: 30 มีนาคม 2013, 22:15:18 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/([A-Za-z0-9]+).html$ show.php?id=$1

ยังไม่ได้ครับ  Lips Sealed
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #9 เมื่อ: 30 มีนาคม 2013, 22:16:06 »

โค๊ด:
RewriteEngine On
RewriteRule ^show/(.*).html show.php?id=$1

ลองแบบนี้ดู จ๊ะ

ยังไม่ได้ครับ
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
zhiizhuu
คนรักเสียว
*

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

กระทู้: 140



ดูรายละเอียด
« ตอบ #10 เมื่อ: 30 มีนาคม 2013, 22:17:21 »

โค๊ด:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+).html$ /show.php?id=$1
บันทึกการเข้า
thong_comsci7
คนรักเสียว
*

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

กระทู้: 193



ดูรายละเอียด
« ตอบ #11 เมื่อ: 30 มีนาคม 2013, 22:25:56 »

ลิ้งที่ให้คลิกบนหน้าเว็บให้ส่งมาเป็น <a href="show/1234.html ">Click</a> ครับ ไม่ใช่ส่งมาเป็น show.php?id=1234
บันทึกการเข้า
thong_comsci7
คนรักเสียว
*

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

กระทู้: 193



ดูรายละเอียด
« ตอบ #12 เมื่อ: 30 มีนาคม 2013, 22:27:07 »

ลิ้งที่ให้คลิกบนหน้าเว็บให้ส่งมาเป็น <a href="show/1234.html ">Click</a> ครับ ไม่ใช่ส่งมาเป็น show.php?id=1234

ตรง echo "<a href='show.php?id=$id'>$title</a>"; ในหน้า index.php นะครับลืมบอก
« แก้ไขครั้งสุดท้าย: 30 มีนาคม 2013, 22:27:47 โดย thong_comsci7 » บันทึกการเข้า
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #13 เมื่อ: 30 มีนาคม 2013, 23:05:06 »

ลิ้งที่ให้คลิกบนหน้าเว็บให้ส่งมาเป็น <a href="show/1234.html ">Click</a> ครับ ไม่ใช่ส่งมาเป็น show.php?id=1234

ตรง echo "<a href='show.php?id=$id'>$title</a>"; ในหน้า index.php นะครับลืมบอก

แล้วมันจะ get id ยังไงครับ
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
$100perday
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,032



ดูรายละเอียด
« ตอบ #14 เมื่อ: 30 มีนาคม 2013, 23:51:48 »

ลิ้งที่ให้คลิกบนหน้าเว็บให้ส่งมาเป็น <a href="show/1234.html ">Click</a> ครับ ไม่ใช่ส่งมาเป็น show.php?id=1234


ตรง echo "<a href='show.php?id=$id'>$title</a>"; ในหน้า index.php นะครับลืมบอก


แล้วมันจะ get id ยังไงครับ


ตอนที่ท่านแสดงในหน้า list รายการสร้างไปเลยครับ

เช่น

<a href=show/<? echo "$id"; ?>.html target=_blank>....</a>

คือพิมพ์ลิงค์ที่ต้องการให้แสดงลงไปเลย

จากนั้น ให้ไปแปลงจาก .htaccess เอาเองครับ นั่นก็คือ

RewriteRule ^show/([^/]*)/$ /show.php?id=$1 [L]

ค่าที่อยู่หลัง show.php ก็คือ id=$1 นั่นแหละครับ คือค่าถูก Get ไปใช้งาน

ลองใช้เว็บนี้ดูครับ อาจช่วยท่านได้ไม่มากก็น้อย
http://www.generateit.net/mod-rewrite/

 wanwan020
« แก้ไขครั้งสุดท้าย: 30 มีนาคม 2013, 23:53:50 โดย $100perday » บันทึกการเข้า

เหนื่อย..
thong_comsci7
คนรักเสียว
*

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

กระทู้: 193



ดูรายละเอียด
« ตอบ #15 เมื่อ: 31 มีนาคม 2013, 01:24:56 »

ลิ้งที่ให้คลิกบนหน้าเว็บให้ส่งมาเป็น <a href="show/1234.html ">Click</a> ครับ ไม่ใช่ส่งมาเป็น show.php?id=1234


ตรง echo "<a href='show.php?id=$id'>$title</a>"; ในหน้า index.php นะครับลืมบอก


แล้วมันจะ get id ยังไงครับ


ตอนที่ท่านแสดงในหน้า list รายการสร้างไปเลยครับ

เช่น

<a href=show/<? echo "$id"; ?>.html target=_blank>....</a>

คือพิมพ์ลิงค์ที่ต้องการให้แสดงลงไปเลย

จากนั้น ให้ไปแปลงจาก .htaccess เอาเองครับ นั่นก็คือ

RewriteRule ^show/([^/]*)/$ /show.php?id=$1 [L]

ค่าที่อยู่หลัง show.php ก็คือ id=$1 นั่นแหละครับ คือค่าถูก Get ไปใช้งาน

ลองใช้เว็บนี้ดูครับ อาจช่วยท่านได้ไม่มากก็น้อย
http://www.generateit.net/mod-rewrite/

 wanwan020


ใช่ครับ
บันทึกการเข้า
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #16 เมื่อ: 31 มีนาคม 2013, 10:30:41 »

ลิ้งที่ให้คลิกบนหน้าเว็บให้ส่งมาเป็น <a href="show/1234.html ">Click</a> ครับ ไม่ใช่ส่งมาเป็น show.php?id=1234


ตรง echo "<a href='show.php?id=$id'>$title</a>"; ในหน้า index.php นะครับลืมบอก


แล้วมันจะ get id ยังไงครับ


ตอนที่ท่านแสดงในหน้า list รายการสร้างไปเลยครับ

เช่น

<a href=show/<? echo "$id"; ?>.html target=_blank>....</a>

คือพิมพ์ลิงค์ที่ต้องการให้แสดงลงไปเลย

จากนั้น ให้ไปแปลงจาก .htaccess เอาเองครับ นั่นก็คือ

RewriteRule ^show/([^/]*)/$ /show.php?id=$1 [L]

ค่าที่อยู่หลัง show.php ก็คือ id=$1 นั่นแหละครับ คือค่าถูก Get ไปใช้งาน

ลองใช้เว็บนี้ดูครับ อาจช่วยท่านได้ไม่มากก็น้อย
http://www.generateit.net/mod-rewrite/

 wanwan020


ยังไม่ได้ครับ  Lips Sealed Lips Sealed Lips Sealed
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
thong_comsci7
คนรักเสียว
*

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

กระทู้: 193



ดูรายละเอียด
« ตอบ #17 เมื่อ: 31 มีนาคม 2013, 10:32:48 »

เอาโค้ดล่าสุดมาดูหน่อยครับ
บันทึกการเข้า
to2009
คนรักเสียว
*

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

กระทู้: 196



ดูรายละเอียด
« ตอบ #18 เมื่อ: 31 มีนาคม 2013, 10:49:09 »

เอาโค้ดล่าสุดมาดูหน่อยครับ

index.php ลิ้งที่ส่งมาเป็นแบบนี้ครับ
โค๊ด:
 <a href="show/$id.html ">$title</a>

show.php  แล้วget id
โค๊ด:
  <?php

// get id from index page 

$ar_id $_GET['id'];
$bad_id mysql_real_escape_string($ar_id);

//then select article from database

$sql "SELECT * FROM article WHERE id ='$bad_id'";
$result mysql_query($sql);
$output mysql_fetch_array($result);
 
 
$title $output['title'];
 
$content $output['article'];
 
$date $output['date'];
.
.
.
?>


mode rewrite ล่าสุด
โค๊ด:
 
RewriteRule ^show/([^/]*)/$ /show.php?id=$1 [L]
 
บันทึกการเข้า

รับเขียนบทความภาษาอังกฤษ ราคาถูก
1 คำ = 0.65 บาท
ขั้นต่ำ 100 คำ/บทความ
สนใจ PM มาได้
thong_comsci7
คนรักเสียว
*

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

กระทู้: 193



ดูรายละเอียด
« ตอบ #19 เมื่อ: 31 มีนาคม 2013, 10:54:37 »

ลองแบบนนี้นะครับ

RewriteEngine on

RewriteRule show/(.*).html /show.php?id=$1
บันทึกการเข้า
หน้า: [1] 2  ทั้งหมด   ขึ้นบน
พิมพ์