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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามเรื่อง rewrite กับท่านเซียนหน่อยน่ะครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามเรื่อง rewrite กับท่านเซียนหน่อยน่ะครับ  (อ่าน 1857 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« เมื่อ: 15 มิถุนายน 2008, 01:41:30 »

จาก กระทู้นี้ http://www.thaiseoboard.com/in...19829.msg251030.html#msg251030

ผมประสบปัญหา array ไม่ยอมแยกให้ครับ ไม่รู้ผิดตรงไหนครับ จากตัวอย่าง ผมทดสอบผ่าน www.domain.com แล้วไม่ยอมแยก array ให้อ่ะคับ พิมพ์ url

http://www.domain.com/book/computer/seo_friendly?author=Tee

มันได้
Array
(
   
  • => bookcomputerseo_friendly
)

แต่พอลองใน sub folder โดยรันผ่าน www.domain.com/test/ และเพิ่ม  RewriteBase /htdocs/
ในไฟล์ .htaccess กลับได้อ่ะครับ ผมงงมาก ๆ เลย ท่านเซียนท่านไหนทราบตอบหน่อยน่ะครับ ต้องการด่วนมาก  ๆเลยครับ พอดีเอาไปใช้โดยรันผ่าน localhost ไม่มีปัญหาแต่รันบนโฮสจริงกลับใช้ไม่ได้ จะส่งงานแล้วอ่ะครับ  Kiss
บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #1 เมื่อ: 15 มิถุนายน 2008, 01:51:13 »

ผมว่าต้องเกี่ยวกับ rewrite base แน่  ๆเลยครับ บนโฮสจริงผมเอาออกอ่ะครับเพราะไม่ได้เอาไว้ใน sub folder 
บันทึกการเข้า
naruphos
คนรักเสียว
*

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

กระทู้: 111



ดูรายละเอียด
« ตอบ #2 เมื่อ: 15 มิถุนายน 2008, 01:56:25 »

เหอๆๆๆ เขียนเองตอบเอง  Shocked
บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #3 เมื่อ: 15 มิถุนายน 2008, 02:01:10 »

แต่ยังไม่ได้เลยครับ ใครรู้บ้างครับ  Kiss
บันทึกการเข้า
naruphos
คนรักเสียว
*

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

กระทู้: 111



ดูรายละเอียด
« ตอบ #4 เมื่อ: 15 มิถุนายน 2008, 02:27:05 »

โค๊ด:
http://www.thaiseoboard.com/index.php/topic,30357.0.html
บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #5 เมื่อ: 15 มิถุนายน 2008, 02:50:24 »

โค๊ด:
http://www.thaiseoboard.com/index.php/topic,30357.0.html


ผมทำแบบ http://www.thaiseoboard.com/index.php/topic,19829.0.html กระทู้นี้ไปแล้วอ่ะครับ ถ้าจะแก้คงจะไม่ทันอ่ะครับ ไม่รุ้ว่าคุณ naruphos เคยทำแบบ กระทู้นี้หรือป่าวครับ
บันทึกการเข้า
naruphos
คนรักเสียว
*

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

กระทู้: 111



ดูรายละเอียด
« ตอบ #6 เมื่อ: 15 มิถุนายน 2008, 03:15:48 »

ขอดูไฟล์ .htaccess หน่อยครับ  Huh?
บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #7 เมื่อ: 15 มิถุนายน 2008, 03:27:00 »

อ้างถึง
Options +FollowSymlinks
RewriteEngine on
RewriteCond $1 !^(index\.php|images|styles|js|includes|server|tinymce|temp|scripts|upload|table_sorter)
RewriteRule ^(.*)$ index.php/$1 [L,NC]
อย่างงี้ครับ  Kiss
บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #8 เมื่อ: 15 มิถุนายน 2008, 03:29:32 »

อันนี้ที่ลองบน server น่ะครับ แต่ข้างล่างนี้ บน localhost ครับ
อ้างถึง
Options +FollowSymlinks
RewriteEngine on
RewriteBase /myproject/
RewriteCond $1 !^(index\.php|images|styles|js|includes|server|tinymce|temp|scripts|upload|table_sorter)
RewriteRule ^(.*)$ index.php/$1 [L,NC]

บันทึกการเข้า
naruphos
คนรักเสียว
*

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

กระทู้: 111



ดูรายละเอียด
« ตอบ #9 เมื่อ: 15 มิถุนายน 2008, 03:53:39 »



เปลี่ยนเป็น
โค๊ด:
http://www.domain.com/book/computer/seo_friendly.php?author=Tee

ไม่แน่ใจนะครับ ลองดู  Tongue
« แก้ไขครั้งสุดท้าย: 15 มิถุนายน 2008, 03:55:51 โดย naruphos » บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #10 เมื่อ: 15 มิถุนายน 2008, 04:01:36 »

ไม่ได้อ่ะคับ แต่ัยังไงก็ขอบคุณมากน่ะครับ ที่ช่วยเหลือผมครับ  Kiss
บันทึกการเข้า
naruphos
คนรักเสียว
*

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

กระทู้: 111



ดูรายละเอียด
« ตอบ #11 เมื่อ: 15 มิถุนายน 2008, 04:18:03 »

แต่พอลองใน sub folder โดยรันผ่าน www.domain.com/test/ และเพิ่ม  RewriteBase /htdocs/
ในไฟล์ .htaccess กลับได้อ่ะครับ ผมงงมาก ๆ เลย ท่านเซียนท่านไหนทราบตอบหน่อยน่ะครับ ต้องการด่วนมาก  ๆเลยครับ พอดีเอาไปใช้โดยรันผ่าน localhost ไม่มีปัญหาแต่รันบนโฮสจริงกลับใช้ไม่ได้ จะส่งงานแล้วอ่ะครับ  Kiss

นั่นเพิ่มนี่ครับ RewriteBase /
บันทึกการเข้า
iceman-cool
Newbie
*

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

กระทู้: 10



ดูรายละเอียด
« ตอบ #12 เมื่อ: 15 มิถุนายน 2008, 04:28:37 »

แต่พอลองใน sub folder โดยรันผ่าน www.domain.com/test/ และเพิ่ม  RewriteBase /htdocs/
ในไฟล์ .htaccess กลับได้อ่ะครับ ผมงงมาก ๆ เลย ท่านเซียนท่านไหนทราบตอบหน่อยน่ะครับ ต้องการด่วนมาก  ๆเลยครับ พอดีเอาไปใช้โดยรันผ่าน localhost ไม่มีปัญหาแต่รันบนโฮสจริงกลับใช้ไม่ได้ จะส่งงานแล้วอ่ะครับ  Kiss


นั่นเพิ่มนี่ครับ RewriteBase /



.htaccess
อ้างถึง
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|styles|js|includes|server|tinymce|temp|scripts|upload|table_sorter)
RewriteRule ^(.*)$ index.php/$1 [L]


index.php
อ้างถึง
<?php
//ตั้งค่า url ที่จะให้วิ่งหา ท่าจะแก้ต้องแก้ .htaccess ด้วย
$page_index = "index.php";

//หาค่า root folder ที่รันโปรแกรมออกมา
DEFINE('BASE', preg_replace('#'.getenv('DOCUMENT_ROOT').'#', '', str_replace(array('\\', $page_index), array('/', ''), __FILE__)));

//เอาค่า root folder ไป replace กับ uri ทั้งหมดที่ get ได้
DEFINE('TAILER', preg_replace('#'.BASE.'#', '', getenv('REQUEST_URI')));

//แยก path กับ query string ออกมาใช้งาน
$parse_url = parse_url(TAILER);

//explode url ที่ตำแหน่ง / เพื่อกำหนด segment
$uri = explode("/", $parse_url['path']);

//parse ค่าของ query string เพื่อให้กลับมาใช้งานได้ตามปกติ
parse_str($parse_url['query']);

//ทดสอบ print segment แต่ละตำแหน่งออกมา
echo "<pre>";
print_r($uri);
echo "<pre>";

//ทดสอบว่า query string ใช้งานได้ตามปกติ
echo "<hr />";
echo "<strong>Author:</strong> ".$_GET['author'];
?>


รัน  http://www.domain.com/category/product/5       แล้วได้ผลลัพธ์

Array
(
   
  • => categoryproduct5
)

Author:

อย่างนี้เหมือนเดิมเลยครับ  Kiss
บันทึกการเข้า
naruphos
คนรักเสียว
*

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

กระทู้: 111



ดูรายละเอียด
« ตอบ #13 เมื่อ: 15 มิถุนายน 2008, 04:59:54 »

โค๊ด:
<?php
//ตั้งค่า url ที่จะให้วิ่งหา ท่าจะแก้ต้องแก้ .htaccess ด้วย
$page_index "index.php";

//หาค่า root folder ที่รันโปรแกรมออกมา
DEFINE('BASE'preg_replace('#'.getenv('DOCUMENT_ROOT').'#'''str_replace(array('\\'$page_index), array('/'''), __FILE__)));

//เอาค่า root folder ไป replace กับ uri ทั้งหมดที่ get ได้
DEFINE('TAILER'preg_replace('#'.BASE.'#'''getenv('REQUEST_URI')));

//แยก path กับ query string ออกมาใช้งาน
$parse_url parse_url(TAILER);
echo 
$parse_url['path']."<br>";;

//explode url ที่ตำแหน่ง / เพื่อกำหนด segment
$uri explode("/"$parse_url['path']);
for (
$i=0$i<count($uri); $i++)
{
  echo 
$uri[$i]."<br>";
}

//parse ค่าของ query string เพื่อให้กลับมาใช้งานได้ตามปกติ
parse_str($parse_url['query']);

//ทดสอบ print segment แต่ละตำแหน่งออกมา
echo "<pre>";
print_r($uri);
echo 
"<pre>";

//ทดสอบว่า query string ใช้งานได้ตามปกติ
echo "<hr />";
echo 
"<strong>Author:</strong> ".$_GET['author'];
?>

ลองเปลี่ยนเป็น code ด้านบน แล้วให้มัน echo ค่ามาดูหน่อยครับ
« แก้ไขครั้งสุดท้าย: 15 มิถุนายน 2008, 05:03:37 โดย naruphos » บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์