ถ้าเป็น
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 ด้วย