รบกวนผู้รู้ ช่วยเรื่อง htaccess หน่อยครับ

เริ่มโดย Exp, 19 กันยายน 2017, 01:37:44

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Exp

อยากรบกวนเขียน htaccess ให้หน่อยครับพอดี ไม่เข้าใจเลย
สิ่งที่ต้องการ
มี url 3 แบบ
1. http://xxxxxx.com/page/2/
2. http://xxxxxx.com/cate/page/2/
3. http://xxxxxx.com/cate/cate2/page/2/

เวลา url 3 แบบนี้อยู่ที่หน้าแรกเป็น page/1
อยากให้ redirect ไปที่ หน้าหลักของหน้านั้น หรือหมวดนั้นๆครับ เช่น
1. http://xxxxxx.com/page/1/ -> http://xxxxx.com/
2. http://xxxxxx.com/cate/page/2/ -> http://xxxxxx.com/cate/
3. http://xxxxxx.com/cate/cate2/page/2/ -> http://xxxxx.com/cate/cate2

แบบนี้หน่ะครับ รบกวนหน่อยครับ งมมา 2 วันแล้ว ไม่เข้าใจเลยครับ
ขอบคุณครับ
:wanwan017:

hmc2017

รับออกแบบป้ายโฆษณาสินค้า
ทำป้ายแบนเนอร์ ป้ายตารางแข่งขันฟุตบอลลีกต่างๆ
ดูแลแฟนเพจรายเดือน มีทีมงาน Support ตรงเวลา
รับตัดต่อวีดีโอ  เพื่อใช้ในการโปรโมทสินค้า
** มัดจำงานเริ่มต้นที่ 0-20% ***
Email : pmaster.engl[at]gmail.com

infamous

อันนี้ผมลองเขียนเล่นๆ ให้ดูเป็นตัวอย่างนะครับ แบบ Multiple Rules

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#สำหรับ sub-cat
RewriteRule ^(.*)/(.*)/page/(.*) subcat.php?route=$1/$2/$3 [L]
#สำหรับ main-cat
RewriteRule ^(.*)/page/(.*) main-cat.php?route=$1/$2 [L]
#สำหรับ root/home
RewriteRule ^page/(.*) index.php?route=page/$1 [QSA,L]

จริงๆแล้วมันยังสามารถกระดิกได้อีกครับ แล้วแต่งานของเรา
ถ้าจะเอาแบบ dynamic และยืดหยุ่นจริงๆ ผมแนะนำให้สร้างไฟล์ router สำหรับจัดการดีกว่าครับ แล้วลดให้เหลือ 1 rule วิ่งเข้า index ไฟล์เดียวพอ(เหมือนกับ framework ทั่วไป)
จากนั้นค่อยไปเขียน logic สำหรับการ wakeup หรือ bootstrap เรียกไฟล์ที่ต้องการให้ทำงานอีกทีหนึ่ง

ปล. ถ้ายังงงอยู่ pm มาได้เลยครับ ถ้าว่างเด๋วผมจะเข้ามาตอบให้

Exp

อ้างถึงจาก: infamous ใน 19 กันยายน 2017, 08:16:11
อันนี้ผมลองเขียนเล่นๆ ให้ดูเป็นตัวอย่างนะครับ แบบ Multiple Rules

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#สำหรับ sub-cat
RewriteRule ^(.*)/(.*)/page/(.*) subcat.php?route=$1/$2/$3 [L]
#สำหรับ main-cat
RewriteRule ^(.*)/page/(.*) main-cat.php?route=$1/$2 [L]
#สำหรับ root/home
RewriteRule ^page/(.*) index.php?route=page/$1 [QSA,L]

จริงๆแล้วมันยังสามารถกระดิกได้อีกครับ แล้วแต่งานของเรา
ถ้าจะเอาแบบ dynamic และยืดหยุ่นจริงๆ ผมแนะนำให้สร้างไฟล์ router สำหรับจัดการดีกว่าครับ แล้วลดให้เหลือ 1 rule วิ่งเข้า index ไฟล์เดียวพอ(เหมือนกับ framework ทั่วไป)
จากนั้นค่อยไปเขียน logic สำหรับการ wakeup หรือ bootstrap เรียกไฟล์ที่ต้องการให้ทำงานอีกทีหนึ่ง

ปล. ถ้ายังงงอยู่ pm มาได้เลยครับ ถ้าว่างเด๋วผมจะเข้ามาตอบให้

ขอบคุณครับ :wanwan017: