คือเขียน .htaccess เพื่อมารองรับ url แบบที่ path มันได้มาจาก rawurlencode() มาแล้ว ทำให้เครื่องหมาย & ถูกแปลงเป็นไปเป็น %26
/page/ben%20%26%20jerry คือ ben & jerry
ปัญหาคือพอจะใช้ .htaccess เพื่อเรียกหน้า index.php?q=ben%20%26%20jerry
RewriteRule ^page/([^/]+)/?$ index.php?p=$1 [L]
มันไม่ส่งข้อความตั้งแต่ & ไปด้วย ( ได้แค่ ben ) สืบไปสืบมาจริงๆ .htaccess มันส่ง แต่มันแปลง %26 ไปเป็นเครื่องหมาย & แล้วส่ง มันเลยกลายเป็นตัวแปรใหม่ ใน $_GET[]
เลยหาทางแก้ เจอแนวทางว่า ให้ทำเป็นสองบรรทัด แบบแรก ต้องไม่มีเครื่องหมาย & ให้ส่งไปได้เลย
อีกแบบ ถ้ามี & ให้แบ่งเป็นสองตัว แล้วส่งสองตัว
RewriteRule ^page/([^/&]+)/?$ index.php?p=$1 [L]
RewriteRule ^page/([^/]+)\&([^/]+)/?$ index.php?p=$1%26$2 [L]
ก็แก้ปัญหาได้ แต่ได้แค่ & แบบมีตัวเดียว ถ้ามากกว่านี้ ทำไม่ได้
ใครมีแนวทางแก้แบบอื่นมั่ง ช่วยคิดที