• June 3, 2017

    ให้ติดต่อโฮสต์

    หรือ

    ต้องทำที่
    1 DNS Record
    2 Webserver
    ใช้ของใครติดต่อกับคนนั้น ต้องทำทั้งสองที่

    ปกติ yourdomain.com จะต้องเข้าได้อยู่แล้ว ถ้าไม่ได้คือเป็นที่ Webserver ไม่ได้ตั้ง alias hostname
    กรณี www.yourdomain.com อันนี้ต้องทำที่ DNS Record ให้มัน forward ไปที่ @ แล้วก็ต้องเช็ค config ของ webserver

    หรือ
    ลองตั้ง dns ใหม่ เหมือนว่าจะให้กำหนดแบบไม่มี www แล้วก็แบบมีสองอย่างเลย ในส่วนของ ระบบจัดการโดเมน

    หรือ

    @        IN    A     ip host
    www      IN    A     ip host

    ดูที่ DNS ว่ามี การตั้งค่า @  ไว้มั๊ย

    หรือ

    ปัญหามาจากการตั้งค่า dns ครับ ลองตรวจสอบการตั้งค่า dns ดู

    หรือ

    ให้เข้าได้ทั้งแบบ www.domain.com   หรือ domain.com  หลักการมันมี 2 อย่างใหญ่ๆ

    1. DNS
    ที่ DNS  server ที่ domain.com ใช้อยู่ต้อง map A record สำหรับ www.domain.com และ domain.com ด้วย
    (เพราะมี www.  มันก็เป็นชื่อๆหนึ่งเท่านั้น อย่างจะเป็น http://mmm.domian.com ก็ได้  Smiley )
    ทดสอบง่ายๆ คือ nslookup www.domain.com   และ nslookup doman.com  ถ้า return IP address ของ web server ถูกต้อง ออกมาเหมือนกันก็ OK แสดงว่า DNS server map ให้ทั้ง 2 แบบแล้ว

    2. Web server setting
    DNS support แล้ว Web server setting ก็ต้อง support ด้วย  ยกตัวอย่าง Apache แล้วกันครับ ปกติ Apache hosting เราๆ ก็จะใช้รูปแบบ  virtual host อยู่เพื่อรองรับได้ หลาย domain ซึ่ง  virtual host ที่นี้ต้องรองรับ ทั้งแบบ www.domain.com และ domain.com ด้วย

    ยกตัวอย่าง

    ServerName  domain.com
    ServerAlias  www.domain.com

    แค่นี้ก็ใช้ได้ 2 ทั้งแบบแล้ว

    บางที่ต้องการเพิ่ม คืออยากให้พิมพ์ ไม่มี www แล้ว redirect ไปเป็น www.  อันนี้ก็ต้องทำ rewrite เพิ่มต่อ
    คราวนี้ถ้าเจอว่า www ใช้ไม่ได้ หรือไม่มี www ใช้ไม่ได้ก็ต้องมาวิเคราะห์ ตามข้อมูลที่มี

    หรือ

    Redirect to www (.htaccess)
    กรณีที่ Pagerank ไม่เท่ากันสามารถทำได้ด้วยการเคลื่อนย้าย gootum.com และ http://www.gootum.com/ กับชื่อโดเมนตามความเป็นจริงของคุณด้วยการสร้างไฟล์ .htaccess วิธีของ redirection ทำงานบนเครื่อง server ที่เป็น linux เท่านั้นวิธีเขียนดังนี้

    Options +FollowSymlinks
    RewriteEngine on
    rewritecond %{http_host} ^domain.com [nc]
    rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

    ตัวอย่างที่ไม่อยากทำไฟล์ redirect ครับสามารถทำเปงไฟล์ .htaccess ได้

    Options +FollowSymlinks
    RewriteEngine on
    rewritecond %{http_host} ^cymiz.com [nc]
    rewritecond %{http_host} ^www.cymiz.com [nc]
    rewriterule ^(.*)$ http://blog.cymiz.com/$1 [r=301,nc]
    rewriterule ^(.*)$ http://blog.cymiz.com/$1 [r=301,nc]

    แล้วทำการเชฟชื่อไฟล์เป็น .htaccess จบ
    301 Redirect

    หรือ
    เรื่อง มี www กับ ไม่มี www

    ไปเช็ค dns ก่อน ว่า มัน add ไว้หรือยัง ถ้า add ไว้หมดแล้วและเข้า ได้ทั้ง มี www และไม่มี www

    ต่อมา เป็นการเขียน htaccess เพื่อระบุว่า โดเมนเราจะเข้า แบบมี www หรือ ไม่มี www

    ก็เลือกเอาละกันว่าจะเอาแบบไหน อย่างใดอย่างนึ่ง ล่ะ ใส่ไปสองอย่าง มันจะมึน

    # redirect non-www to www
    RewriteCond %{HTTP_HOST} ^cymiz.com [NC]
    RewriteRule ^(.*)$ http://www.cymiz.com/ $1 [L,R=301]
    
    # Redirect www to non-www
    RewriteCond %{HTTP_HOST} ^www\.(.*)
    RewriteRule (.*) http://%1/ $1 [R=301,L]

    หรือ
    แก้ที่ โดเมน ตรง dns

    หรือ

    เช็คที่ DNS Template

    หรือ
    ดูจาก http://who.is/dns/allwas.com ไม่มี www เป็น CNAME
    แต่มี * ที่ A งั้นต้องดูว่า web server แบบมีหรือไม่มี www จะส่งไปไหน

    มี .htaccess งั้นน่าจะเป็น Apache httpd และบน VPS ด้วย งั้นลองดู apache.conf หรือ httpd.conf ( มั่ง )
    http://content.websitegear.com/article/subdomain_setup.htm

    หรือ

    น่าจะต้องตั้งค่าตรง dns management สำหรับ DA

    หรือ
    เขียน .htaccess

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^cymiz\.com$ [NC]
    RewriteRule ^(.*)$ http://www.cymiz.com/ $1 [R=301,L]

    หรือ
    dns management ตั้งค่าถูกรึยัง ?
    แก้ ns ไปเมื่อไหร่? ถ้าพึ่งแก้ไปก็เรื่่องปกติ

    แต่ทำไมอีกเว็บที่แก้พร้อมกัน มันได้เข้าได้ปกติแล้ว?
    internet มันอัพเดท dns ไม่ตรงกัน ขึ้นกับหลายปัจจัย ถ้า dns management set ถูกแล้วก็รอไปก่อน

    หรือ

    Redirect non www to www ด้วย .htaccess

    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^cymiz.com [NC] 
    RewriteRule ^(.*)$ http://www.cymiz.com/$1 [L,R=301]

    เซฟเป็นไฟล์ .htaccess แล้วอัพไปไว้ที่ server

    หรือ
    สาเหตุเกิดจาก DNS Server ของอินเตอร์เน็ตที่ใช้อยู่ ซึ่งอาจมีการอัพเดท ไม่ตรงกัน หรือ เวลา TTL ไม่ตรงกันนั้นเอง จึงทำให้ Record ยังเป็นข้อมูลเก่าอยู่
    หรืออาจเกิดจากการ Cache ของ DNS Server เช่น หากใช้อินเตอร์เน็ตใน มหาลัย จะมีการ Cache ไว้ จึงทำให้ข้อมูลมีการอัพเดทช้า

    เรื่องโดเมน ที่มี และ ไม่มี www นั้น ผมสรุปไว้สั้นๆตรงนี้เลย ว่ามันคือโดเมนเดียวกัน cymiz.com และ www.cymiz.com ถือว่าเป็นโดเมนเดียวกัน นับเป็น 1 หน่วยโดเมน
    แต่ถ้าใครอยากรู้ที่มาที่ไปมากกว่ารู้แค่ว่าเป็นโดเมนเดียวกัน ก็อ่านกันต่อได้เลยครับ เพราะว่าจะมีการอธิบายเชิงลึกลงไปเลย เพื่อความเข้าใจ

    เรื่องนี้ต้องขอให้ย้อนกลับไปอ่านเรื่อง sub domain ก่อนเลย ตรงนี้ถือว่าทุกท่านได้อ่านจบ และเข้าใจตรงกันแล้วนะครับ จะได้อธิบายต่อครับ เนื่องจาก www ที่อยู่ข้างหน้า ตามที่เข้าใจตรงกัน ว่ามันคือ sub domain ของโดเมน นั่นแปลว่า www ที่อยู่หน้าชื่อ เราจะใช้หรือไม่ก็ได้ ไม่เสียเงินจดเพิ่ม เราจะเสียเงินเฉพาะ ค่าจดโดเมนเท่านั้น เช่น cymiz.com engineering.co.th เหล่านี้ ต้องเสียเงินจด นับเป็น 1  domain แต่ว่า sub domain การจะสร้างเพิ่ม เราสามารถทำได้ โดยการแก้ไขค่า DNS record ของโดเมน

    โดยปกติ ที่เราจดโดเมน เราก็มักจะเช่า host ด้วยเพื่อการทำเว็บ ดังนั้น web master หลายคนก็เลยไม่รู้ว่า www ที่เกิดขึ้นมานั้น แท้จริงแล้ว เกิดมาจากการทำงานของ hosting ไม่ใช่ของโดเมนเลย เพราะว่าอย่างที่บอกไปแล้วว่า โดเมนก็มีแค่ meewebfree.com นั่นเอง แต่เมื่อเราเช่า host ไม่ว่าที่ไหนๆ น่าจะ 90% ของโลกเรา เค้ากำหนดให้ sub domain ที่ชื่อ www นั้นมีหน้าเว็บ หน้าเดียวกับ domain เลย ก็เลยทำให้คนสามารถเปิดเว็บได้ทั้งมี และไม่มี www ดังจะสังเกตุว่า www.meewebfree.com กับ meewebfree.com ได้หน้าตาเหมือนกันเลย แต่อย่างที่บอกว่า ประมาณ 90% เพราะว่าก็ยังมี อีก 10% ที่ไม่ได้กำหนดให้ sub domain ที่ชื่อ www เปิดมาแล้วได้หน้าเว็บเดียวกับโดเมน

    นั่นแปลว่า จริงๆแล้วหน้าเว็บ จะปรากฏที่โดเมน meewebfree.com ไม่ใช่ปรากฏที่ www.meewebfree.com เหมือนอย่างที่หลายคนเข้าใจ แต่ด้วยระบบ hosting ก็เลยผูกให้ www.cymiz.com มีหน้าเว็บที่เหมือน cymiz.com ด้วยเลยเป็นอันเข้าใจตรงกันทั่วโลก

    ดังนั้นเลิกเข้าใจผิดว่า www.cymiz.com และ cymiz.com เป็นคนละเว็บ คนละชื่อโดเมน เพราะว่ามันคือโดเมนเดียวกันครับ

    แถมให้อีกนิดนึง ด้วยกระบวนการความเข้าใจเดียวกันนี้ จะทำให้เข้าใจได้ว่า ทำไมเห็นบางเว็บใช้ www2.domain.com www3.domain.com ซึ่งมันก็ไม่ใช่เทคนิคพิเศษอะไรเลย มันคือการทำงานแบบเดียวกับ www.domain.com นี่เองครับ (sub domain) และคำอธิบายนี้ก็ยังเป็นตัวบอกด้วยว่า ทำไมบางเว็บเข้าแบบที่ไม่มี www แล้วเข้าไม่ได้ หรือได้ผลที่ต่างจากหน้าที่ไม่มี www ถ้าเข้าเว็บแบบมี www ไม่ได้ แต่เข้าแบบไม่มี www ได้ แสดงว่าทุกอย่างทำงานปกติ แต่แค่ยังไม่ได้ตั้งให้ www ชี้เข้าไปยังหน้าเว็บแบบที่ไม่มี www เท่านั้นเอง

    code ที่เขียนไว้ htaccess เพื่อ Redirect URL จาก non-www เป็น www

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^domain\.com [NC]
    RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301]


เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories