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

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

หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: วิธีเขียน htaccess ?  (อ่าน 4500 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
togethers
ก๊วนเสียว
*

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

กระทู้: 469



ดูรายละเอียด เว็บไซต์
« เมื่อ: 30 ตุลาคม 2009, 21:06:22 »

ผมได้ทำการ set wildcard dns ให้กับ domain หนึ่งเรียบร้อยแล้วน่ะครับ แต่ผมอยากทราบว่าจะเขียน .htaccess ยังไงให้ได้ผลลัพธ์แบบนี้

book.mydomain.com/หนังสือภาษษไทย/001.html  ให้ไปหน้า book.php?id=001

และในทำนองเดียวกัน

pen.mydomain.com/ปากกาสีแดง/002.html  ให้ไปหน้า pen.php?id=002


เพื่อน ๆ พี่ ๆ ท่านใดทำได้ ช่วยชี้แน่ะด้วยน่ะครับ

ขอบคุณครับ  wanwan017 wanwan017
บันทึกการเข้า

onokung
คนรักเสียว
*

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

กระทู้: 198



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 30 ตุลาคม 2009, 21:28:52 »

ผมได้ทำการ set wildcard dns ให้กับ domain หนึ่งเรียบร้อยแล้วน่ะครับ แต่ผมอยากทราบว่าจะเขียน .htaccess ยังไงให้ได้ผลลัพธ์แบบนี้

book.mydomain.com/หนังสือภาษษไทย/001.html  ให้ไปหน้า book.php?id=001

และในทำนองเดียวกัน

pen.mydomain.com/ปากกาสีแดง/002.html  ให้ไปหน้า pen.php?id=002


เพื่อน ๆ พี่ ๆ ท่านใดทำได้ ช่วยชี้แน่ะด้วยน่ะครับ

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


ปกติก็ไม่เคยลองน่ะคับ เช็คว่ามาจาก sub domain ไหม ทุกทีก็ลองธรรมดา  Tongue
บันทึกการเข้า

togethers
ก๊วนเสียว
*

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

กระทู้: 469



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 30 ตุลาคม 2009, 23:17:21 »

ยังไม่มีใครตอบเยยยยยย  Tongue Tongue
บันทึกการเข้า

Legendary Pon
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,210



ดูรายละเอียด
« ตอบ #3 เมื่อ: 31 ตุลาคม 2009, 00:06:04 »

ลองดูอาจช่วยได้

http://www.generateit.net/mod-rewrite/
บันทึกการเข้า

togethers
ก๊วนเสียว
*

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

กระทู้: 469



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 31 ตุลาคม 2009, 03:46:02 »

ลองดูอาจช่วยได้

http://www.generateit.net/mod-rewrite/

ขอบคุณครับ แต่ว่ายังไม่ได้เลยอ่ะคับ  Tongue
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 31 ตุลาคม 2009, 16:15:00 »

.htaccess ยังไม่รองรับภาษาอื่นๆ นอกจากภาษาอังกฤษครับ
ซึ่งพอเขียน regex ส่งค่าได้ แต่ให้กำหนดแบบนั้นคงไม่ได้ เว้นแต่...

โค๊ด:
RewriteRule ^([^/]+)/([0-9]+)\.html?$ index.php?link=$1&id=$2 [L]

แล้ว index.php ประมาณเป็น

โค๊ด:
<?php

switch($_GET[&#39;link&#39;]) {

case &#39;หนังสือภาษาไทย&#39;:
include(&#39;book.php&#39;);
break;

case &#39;ปากกาสีแดง&#39;:
include(&#39;pen.php&#39;);
break;

default:
//ไม่มีหน้าดังกล่าว
break;
}

?>

แล้วพวก book.php pen.php ก็..
โค๊ด:
<?php
echo $_GET[&#39;id&#39;];
?>

ส่วนถ้าอยากเพิ่มให้เช็ค subdomain ด้วย ก็อ่านกระทู้นี้ครับ
http://www.thaiseoboard.com/index.php/topic,16485.0.html

น่าจะพองมต่อได้นะครับ  wanwan008
บันทึกการเข้า

togethers
ก๊วนเสียว
*

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

กระทู้: 469



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 31 ตุลาคม 2009, 16:42:42 »

.htaccess ยังไม่รองรับภาษาอื่นๆ นอกจากภาษาอังกฤษครับ
ซึ่งพอเขียน regex ส่งค่าได้ แต่ให้กำหนดแบบนั้นคงไม่ได้ เว้นแต่...

โค๊ด:
RewriteRule ^([^/]+)/([0-9]+)\.html?$ index.php?link=$1&id=$2 [L]

แล้ว index.php ประมาณเป็น

โค๊ด:
<?php

switch($_GET[&#39;link&#39;]) {

case &#39;หนังสือภาษาไทย&#39;:
include(&#39;book.php&#39;);
break;

case &#39;ปากกาสีแดง&#39;:
include(&#39;pen.php&#39;);
break;

default:
//ไม่มีหน้าดังกล่าว
break;
}

?>

แล้วพวก book.php pen.php ก็..
โค๊ด:
<?php
echo $_GET[&#39;id&#39;];
?>

ส่วนถ้าอยากเพิ่มให้เช็ค subdomain ด้วย ก็อ่านกระทู้นี้ครับ
http://www.thaiseoboard.com/index.php/topic,16485.0.html

น่าจะพองมต่อได้นะครับ  wanwan008

ขอบคุณครับ

คือว่าหลักๆ ผมแค่อยากรู้ว่า

ถ้า pen.domain.com/value1/value2       ก็ให้ไปที pen.php?value1=value1&value2=value2

ประมาณนี้น่ะครับ

ไม่ทราบว่าจะทำได้ไหมและทำยังไงครับ  wanwan017
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 31 ตุลาคม 2009, 18:59:02 »

ก็สร้าง if ด้วยโค้ดที่ใช้เช็ค subdomain ที่ในกระทู้ที่ผมพูดถึงนะ แล้วมาตรวจค่ากันเอา ว่าซัพตรงกับที่ต้องการไหม
นอกนั้นการส่งค่าก็เป็นหน้าที่ของ htaccess ซึ่งก็ตามตัวอย่างที่ผมเขียนข้างบน

ลองหาวิธีการเขียน htaccess มาอ่านดู (ในเน็ตมีเยอะแยะมากมายยยยย....)
ก็น่าจะพอตีโจทย์ออกนะครับ

ผมไม่เขียนโค้ดสำเร็จให้นะ คุณควรลองศึกษาดูหน่อย มันไม่ยากเลย
สมัยก่อนเขียนโปรแกรมต้องทรหดกว่านี้เยอะ สมัยนี้มันสบายมากๆ Google ก็มี

 Cry
บันทึกการเข้า

togethers
ก๊วนเสียว
*

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

กระทู้: 469



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 31 ตุลาคม 2009, 22:11:42 »

ก็สร้าง if ด้วยโค้ดที่ใช้เช็ค subdomain ที่ในกระทู้ที่ผมพูดถึงนะ แล้วมาตรวจค่ากันเอา ว่าซัพตรงกับที่ต้องการไหม
นอกนั้นการส่งค่าก็เป็นหน้าที่ของ htaccess ซึ่งก็ตามตัวอย่างที่ผมเขียนข้างบน

ลองหาวิธีการเขียน htaccess มาอ่านดู (ในเน็ตมีเยอะแยะมากมายยยยย....)
ก็น่าจะพอตีโจทย์ออกนะครับ

ผมไม่เขียนโค้ดสำเร็จให้นะ คุณควรลองศึกษาดูหน่อย มันไม่ยากเลย
สมัยก่อนเขียนโปรแกรมต้องทรหดกว่านี้เยอะ สมัยนี้มันสบายมากๆ Google ก็มี

 Cry

ขอบคุณครับผม ที่ช่วยตอบคำถามตลอดมา  wanwan017 wanwan017
บันทึกการเข้า

bomload
Newbie
*

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

กระทู้: 80



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 13 พฤศจิกายน 2009, 13:20:19 »

ผมได้ทำการ set wildcard dns ให้กับ domain หนึ่งเรียบร้อยแล้วน่ะครับ แต่ผมอยากทราบว่าจะเขียน .htaccess ยังไงให้ได้ผลลัพธ์แบบนี้

book.mydomain.com/หนังสือภาษษไทย/001.html  ให้ไปหน้า book.php?id=001

และในทำนองเดียวกัน

pen.mydomain.com/ปากกาสีแดง/002.html  ให้ไปหน้า pen.php?id=002


เพื่อน ๆ พี่ ๆ ท่านใดทำได้ ช่วยชี้แน่ะด้วยน่ะครับ

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



1.ทำการสร้าง subdomain ชื่อ book.yourname.com ขึ้นมา
2.นำไฟล์ book.php ไปไว้ที่ book.yourname.com
3.สร้างไฟล์ .htaccess ใน book.yourname.com
------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule (.*)/(.*)\.html book.php?v1=$1&v2=$2
</IfModule>

**********************************
(.*)/(.*)\.html    สีแดงคือค่าตัวแปรจาก v1 *ในกรณีนี้ถ้าเราเล่น seo ก็ใช้ชื่อตัวแปล kg ก็ได้
(.*)/(.*)\.html    สีแดง / คือคุณต้องการคั่นด้วยตัวอักษรแบบนี้แต่ละตัวแปร
(.*)/(.*)\.html    สีแดงคือตัวแปร ของ v2 ที่เราจะรับเอาค่าจริง
(.*)/(.*)\.html    สีแดงคือ จะต้องตามท้ายด้วย .html เท่านั้น ถ้าอย่างนั้นฉันไม่ไม่ให้เจอหน้านี้

(.*)/(.*)\.html เราจะใส่เป็น 100 ค่าก็ได้แต่ Google ถ้ายาวไปมันก็ตัวออก เช่น  (.*)/(.*)/(.*)/(.*)\.html
======== ก็จะต้องเปลี่ยน book.php?v1=$1&v2=$2&v3=$v3&v4=$4
******************** เพราะคุณเลือกใช้ 4 ตัวแปร

4. ต้อไปการสร้างลิงค์
<a href="http://book.mydomain.com/ ไทย/001.html">หนังสือภาษษไทย</a>
ค่าบน URL ก็จะได้ http://book.mydomain.com/ ไทย/001.html
********* ซึ่งเป็นผลดีต่อ Google

5. .htaccess จะอ่านค่าจาก URL มาแปลงเป็น
 book.php?v1=หนังสือภาษษไทย&v2=001

********* จากนั้น php ก็จะรับช่วงไปทำงานต่อครับ


จบข่าว
บอมโหลด
บันทึกการเข้า

รับทำเว็บไซต์
หน้า: [1]   ขึ้นบน
พิมพ์