Pages: [1]
Author Topic: ความรู้เรื่อง mod rewrite กับ sub domain ครับ  (Read 2104 times)
0 Members and 1 Guest are viewing this topic.
คิมจองไซ
Newbie
*

SEO Score : 0
Posts: 4


View Profile WWW
« on: October 04, 2012, 12:26:53 PM »

เห็นว่ามีประโยชน์ดี เกี่ยวกับการทำ ซับโดเมน โดยใช้ mod rewrite เลยเอามาแบ่งปันครับ  Embarrassed

Code:
โจทย์ : จงสร้าง subdomain ให้ user “domori” ในเว็บ blogs.com (โดยปัจจุบันการอ้างถึง user
“domori” ใน blogs.com ทำโดยการเรียก http://www.blogs.com/member.php?user=domori )

วิธีการทำมีดังนี้
1. ก่อนอื่นต้องทำการสร้าง wildcard(*) ใน zone ของ blogs.com ก่อนครับ
(โดยคนที่จดโดเมนของ registrar ต่างประเทศเช่น Godaddy.com, Name.com สามารถเข้าไปแก้ไขในส่วนของ DNS management ได้เลย แต่สำหรับการจดผ่าน ผู้ให้บริการในไทย นั้นคงต้องโทรไปบอกให้เขาเพิ่มให้ครับ)
การสร้าง wildcard(*) ทำดังนี้ เพิ่ม record  ใน zone ของ blogs.com (ด้านล่างนี้เลย)
*.blogs.com IN CNAME blogs.com
หลังจากนั้น ลองทดสอบดูโดยการ ping domori.blogs.com ถ้าได้ก็จะมี result กลับมา

2. หลังจาก ทะลวงช่อง DNS ให้ domori แล้ว ต่อไปก็คือต้องมาจัดการ httpd ของ webhosting ว่าเมื่อมีการ request domori.blogs.com แล้วจะให้วิ่งไปไหน โดยการเพิ่ม alias ใน virtaul host ของ blogs.com ใน ไฟล์httpd ดังนี้
ServerAlias www.blogs.com  blogs.com *.blogs.com <= เพิ่มอันนี้เข้าไป

3. เท่านี้ domori.blogs.com ก็เกือบจะใช้ได้แล้ว  แต่ยังก่อน เราต้องมาเขียน .htaccess เพื่อจัดการ rewrite rule http://www.blogs.com/member.php?user=domori  เป็น http://domori.blogs.com
โดย สร้าง .htaccess เก็บไว้ใน public_html น่ะครับ ส่วนในไฟล์ .htaccess มีเนื้อหาสาระดังนี้

Options -Indexes
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.blogs.com
RewriteCond %{HTTP_HOST} ([^.]+).blogs.com
RewriteRule ^(.*)$ member.php?user=%1

เท่านี้ domori ก็กระโดดแซง ทั้ง member.php และ blogs.com ไปอยู่ข้างหน้า กลายเป็น domori.blogs.com ได้แล้ว ไว้เจอกันใหม่ครับ

ที่มา http://www.codeans.com/2009/07/วิธีสร้าง-subdomain-โดยใช้-mod-rewrite-ของ-apache/
Logged


Pages: [1]
Print
Jump to: