www และ แบบไม่มี www แบบไหนดีกว่ากัน?
การ Redirect จาก non-www ไปเป็น www ด้วย .htaccess
หลายเว็บ สามารถเข้าได้ทั้งแบบมี www และแบบไม่มี www
ค่าคุณภาพของหน้าเว็บ ( ค่า PA ) ของทั้ง 2 page จะไม่เท่ากัน
จะมีผลต่อเวลาที่เราต้องการทำ SEO ด้วย
ดังนั้น การที่ redirect ไปเป็นหน้าใดหน้าหนึงนั้น จะดีกว่าปล่อยให้มันเข้าได้ทั้ง 2 อย่าง ( **ชอบแบบไหนก็แบบนั้น)
(สาเหตุ เป็นปัญหาเรื่อง duplicate content ที่ google มอง)
วิธีทำ
ตั้งชื่อ .htaccess >> Save as type เลือก all >>> encoding เลือก UTF-8
อัพโหลดเข้าไปที่ folder ของ domain ที่ต้องการ
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
จากนั้นลองเข้าเว็บดู หากเข้าแบบไม่มี www จะถูก redirect ให้ไปที่ www. ทันที
เว็บที่ใช้ wordpress แก้ที่ setting ได้เลย
ท่านที่ชอบแบบไม่มี www ก็ให้ใช้อันนี้
RewriteEngine On RewriteCond %{HTTP_HOST} !^my-domain\.com$ [NC] RewriteRule ^(.*)$ http://my-domain.com/$1 [R=301,L]
—
#Force www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
#Force non-www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
RewriteEngine on rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
RewriteEngine on rewritecond %{http_host} ^kateep.com [nc] rewritecond %{http_host} ^www.kateep.com [nc] rewriterule ^(.*)$ http://blog.kateep.com/$1 [r=301,nc] rewriterule ^(.*)$ http://blog.kateep.com/$1 [r=301,nc]
—
It really doesn’t matter if you use www.yoursite.com or yoursite.com. I prefer non WWW version thats why Tech Stream uses a no www one, you can choose any depending on your views. Having 2 versions same time can cause problems. You can overcome this by forcing a version with 301 redirect from other version.
If you are starting up you can choose any may be toss a coin to find which version to use. If your website is been online for a while, I recommend you to do some analysis In different search engine and find out which version is widely used and make it permanent.
Redirect Non-Www Urls To Www With HTACCESS
The following code makes a 301 redirect to WWW version of your website, it redirects users and also bolts informing them bolts that content in those pages are moved Permanently.
RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.yoursite\.com RewriteRule (.*) http://www.yoursite.com/$1 [R=301,L]
You can also use RewriteCond %{HTTP_HOST} ^example\.com [NC] instead of RewriteCond %{HTTP_HOST} !^www\.yoursite\.com. Both serve the same.
Non-Www Urls To Www With Https Using HTACCESS
To force non-www urls www with https
RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Redirect Www Urls To Non-Www For APACHE With HTACCESS
The following code make a permanent 301 redirect to non-www version.
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.yoursite\.com [NC] RewriteRule (.*) http://yoursite.com/$1 [R=301,L]
You can also use RewriteCond %{HTTP_HOST} ^example\.com [NC] instead of RewriteCond %{HTTP_HOST} !^www\.yoursite\.com. Both serve the same.
Redirect Www Urls To Non-Www With Https Using HTACCESS
If you need to force https along with non-WWW you can use the code below
RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
WWW To NON WWW Redirect For Apache With Httpd.Con
IF you don’t have access to .HTACCESS you can use httpd.con, most free web host don’t provide access to HTACCESS
ServerName www.example.com
Redirect 301 / http://example.com/
NON WWW To WWW Redirect For Apache With Httpd.Con
ServerName example.com
Redirect 301 / http://www.example.com/
Many popular scripts, particular content management systems (CMS’s) edit the .htaccess file and add their own redirection so you may not have to add any of the code noted above. Adding these again can lead to 500 errors or improper redirection
Microsoft IIS Web Server
You need to add the code given below to a file that is included on all the pages, or directly on top of each file
If InStr(LCase(Request.ServerVariables(“SERVER_NAME”)),”www”) = 0 Then
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.domain.com”
End If
Note: these instructions require administrative access to IIS. If you do not have this access (e.g., if you have a shared hosting account on a Windows server), you should use one of the server-side scripting methods such as ASP or PHP given further below.