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

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

ThaiSEOBoard.com< กดยุบ (ห้องยกเลิกการใช้งาน)TWGคุณเอกครับ รบกวนถามเกี่ยวกับ mod rewrite หน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: คุณเอกครับ รบกวนถามเกี่ยวกับ mod rewrite หน่อยครับ  (อ่าน 3991 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
pilotII
Newbie
*

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

กระทู้: 49



ดูรายละเอียด
« เมื่อ: 07 มกราคม 2007, 03:23:33 »

คือผมพยายามลองเขียนโปรแกรม โดยหัดลองทำ mod rewrite อย่างง่ายๆที่ dream host น่ะครับ ปรากฏว่าไม่ยอมแปลงเป็น static ให้น่ะครับ ผมเขียนอะไรผิดหรือเปล่าครับ ข้างล่างเป็นตัวอย่างของ .htaccess กับ โปรแกรมรับค่าแบบง่ายๆ ที่ผมลองทดสอบดูน่ะครับ

.htaccess
โค๊ด:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)\.html$ /index.php?q=$1 [L]


index.php
โค๊ด:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> test </TITLE>
</HEAD>
<BODY>
<FORM ACTION="index.php" >
<INPUT TYPE="text" NAME="q">
<INPUT TYPE="submit">
</FORM>
<?
if ($q<>""){
    echo $q ;
}
?>
</BODY>
</HTML>



พอผมลอง run โปรแกรมให้ส่งค่าดู  มันจะส่งเป็น qurery string เลยน่ะครับ เช่น www.mysite.com/index.php?q=abc แทนที่จะเป็น www.mysite.com/abc.html

แต่พอผมลอง พิมพ์ตรง www.mysite.com/abc.html มันก็ได้น่ะครับ ผมแปลกใจน่ะครับทำไมมันไม่แปลงเป็น static ให้ผมเลยน่ะครับ

รบกวนคุณเอกช่วยตอบปัญหาผมหน่อยน่ะครับ
บันทึกการเข้า

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

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

กระทู้: 962



ดูรายละเอียด
« ตอบ #1 เมื่อ: 07 มกราคม 2007, 03:37:05 »

มีปัญหาเรื่อง mod rewrite เหมือนผมเลย

แอดมินกำลังจัดการให้มันทำงานอยู่เนี้ย เซงๆๆๆๆ
บันทึกการเข้า

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

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

กระทู้: 9,635



ดูรายละเอียด
« ตอบ #2 เมื่อ: 07 มกราคม 2007, 07:14:00 »

dreamhost ผมใช้อยู่นะ

ต้นแบบที่ทำ สคริปกึ่งปั่นก็อยู่ที่ dreamhost นะ

ลอง เอา [L] ออก เพระาผมไม่ได้ใส่ไว้อะ

โค๊ด:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)\.html$ /index.php?q=$1


หรือ

โค๊ด:
RewriteEngine on
RewriteRule (.*)\.html$ /index.php?q=$1
บันทึกการเข้า

ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ
kingmaster
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,183



ดูรายละเอียด
« ตอบ #3 เมื่อ: 07 มกราคม 2007, 07:18:29 »

ถ้าเป็น www.mysite.com/index.php?q=abc (หมายถึงถ้าเข้าเว็บครั้งแรกอ่ะนะ) แบบนี้ปกติไม่มีครับ ถ้าเราพิมพ์เข้าไปที่ www.mysite.com/ มันจะเป็น www.mysite.com/index.php ยังไม่มี ค่าของ query string เลย

ดังนั้นตามโค๊ดที่คุณให้มาต้องคลิกผ่านปุ่มก่อน จึงจะมีการส่งค่า query string อ่ะนะ ซึ่งคุณต้องแก้ไขที่ลิ้งค์อ่ะ

โค๊ด:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> test </TITLE>
</HEAD>
<BODY>
<FORM ACTION="q.html" >
<INPUT TYPE="text" NAME="q">
<INPUT TYPE="submit">
</FORM>
<?
if ($q<>""){
    echo $q ;
}
?>
</BODY>
</HTML>


แบบนี้อ่ะครับ เพราะถ้ายังเป็น
โค๊ด:
<FORM ACTION="index.php" > 


แบบนี้มันก็จะไป index.php น่ะครับ... ซึ่งถ้าเราทำ mod_rewrite นี่เราก็ต้องเปลี่ยนลิ้งใหม่นะครับ ให้เป็นไปตาม mod_rewrite ด้วย
บันทึกการเข้า

Bug Fix AllinoneGenerator --> BugFix... | รถตู้เชียงใหม่
หน้า: [1]   ขึ้นบน
พิมพ์