ThaiSEOBoard.com

พัฒนาเว็บไซต์ => CMS & Free Script => ข้อความที่เริ่มโดย: gang246810 ที่ 14 มีนาคม 2018, 13:00:36



หัวข้อ: ใช้ RewriteRule แล้วรับค่า GET แบบปกติไม่ได้ครับ
เริ่มหัวข้อโดย: gang246810 ที่ 14 มีนาคม 2018, 13:00:36
คือผมจะ RewriteRule
จาก http://localhost/product.php?category=power-bank&ppath=power-bank
เป็น http://localhost/category/power-bank/?ppath=power-bank ครับ

ไฟล์ .htaccess
RewriteEngine On
RewriteRule ^category/(.*)/$ product.php?category=$1
RewriteRule ^category/(.*)$ /category/$1/ [R]

แต่พอใส่ไปแล้วรับค่า $_GET['ppath'] ไม่ได้เลย ขอบคุณครับ


หัวข้อ: Re: ใช้ RewriteRule แล้วรับค่า GET แบบปกติไม่ได้ครับ
เริ่มหัวข้อโดย: infamous ที่ 14 มีนาคม 2018, 20:43:41
ไม่ทราบว่าความต้องการของท่านคือ

ลิงค์ที่มี/ประกอบด้วย category/.../... ให้วิ่งไปที่หน้า product.php หรือเปล่าครับ
ถ้าใช่ ให้ลองแบบนี้นะครับ เพราะแบบของท่านมันเป็นการสร้าง rule ซ้ำซ้อนเพื่อเงื่อนไขเดียว

โค๊ด:
RewriteEngine on

#localhost/demoapp
RewriteBase /demoapp/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} category
RewriteRule ^(.*)$ index.php?_route_=$1 [L,QSA]

index.php

โค๊ด:
// rq url
http://localhost/demoapp/category/power-bank/?ppaht=power-bank
<?php 
print_r
($_GET);

// result
Array
(
    [
_route_] => category/power-bank/
    [
ppaht] => power-bank
)
?>