1. مقاله اول :
فرض بر این است که شما از وردپرس استفاده نمیکنید. در این حالت میخواهیم با استفاده از ریدایرکت آدرس بدون www را به آدرس با www منتقل کنیم.
- فایل htaccess. را در سرور خود پیدا کنید
- کد های زیر را در ابتدای این فایل قرار دهید.
کد: [انتخاب]>>>>RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]<<<<
فایل htaccess. را ذخیره کنید.
با انجام مراحل بالا شما موفق شده اید www را روی دامین خود قفل کنید .
نکته: اگر این کد روی سرور شما کار نکرد علامت های [NC] $ و \ را از خط دوم حذف کنید.
نکته: قبل از انجام هر تغییری یک کپی از فایل htaccess. بگیرید تا در صورت خراب کاری بتوانید جبران کنید.
توجه: دقت کنید که بجای example در کد باید نام دامین خود را بنویسید.
نکته کنکوری: هرگز از ریدایرکت ۳۰۲ برای این کار استفاده نکنید!
منبع :
تکنیک های سئو/ قفل کردن www در آدرس دامین | ایران ایزی
2. مقاله دوم :
شما به روشهای مختلفی میتوانید بازدیدکنندگان را redirect کنید. روش بهتر و معمول، استفاده از امکانات web server برای redirect است که سرعت بیشتر و مصرف منابع کمتری نسبت به روشهای دیگر دارد. برای کاربران Apache کافیست یکی از کدهای زیر را در فایلی با نام .htaccess در شاخه اصلی سایتشان قرار دهند:
برای تغییر مسیر نشانی با www به نشانی بدون www:
کد: [انتخاب]>>>> RewriteEngine on
# no-www
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]<<<<
و برای تغییر مسیر از نشانی بدون www به نشانی با www:
کد: [انتخاب]>>>> RewriteEngine on
# yes-www
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]<<<<
منبع :
http://weblog.corelist.net/archives/1386/10/22/no-www
3. مقاله سوم از یه سایت خارجیه :
Generic non-www to www (and vice versa) 301 redirect using .htaccess
November 3, 2008 – 4:33 pm
The problem:
I’ve always hardcoded the domain name in my htaccess’es, requiring me to make changes each time I deploy a new website.
The solution:
Behold, an alternate, generic method of redirecting non-www to www and www to non-www, requiring no changes between deployments!
Non-www to www
کد: [انتخاب]>>>>RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]<<<<
www to non-www
کد: [انتخاب]>>>>RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]<<<<
Bonus tip: Remove trailing slash from address line
کد: [انتخاب]>>>>RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]<<<<
منبع:
Generic non-www to www (and vice versa) 301 redirect using .htaccess | Cakephp.nu blog