شاید تا به حال پیش اومده باشه که بخواهیم یک دامنه رو به زیردامنه ریدایرکت کنیم یا در مباحث ویژه ی سئو موضوعی وجود دارد به نام محتواهای دوگانه یا تکراری که ممکن هست موتورهای جستجو وب سایت مربوطه رو متخلف تشخیص بدهند و جریمه کنند !
گوگل سایت http://nabscript.ir و وب سایت http://www.nabscript.ir رو یکی نمی دونه ! در واقع اون دامنه که www داره رو زیر دامنه ی دامنه ی اصلی بدون www به حساب میاره و ما باید این ۲ تا دامنه ی به ظاهر متفاوت اما در باطن یکسان رو به هم ریدایرکت کنیم .
آسونترین راه ریدایرکت کردن دامنه این هست که از کدهای مخصوص این کار در فایل HTAccess استفاده کنیم و دامنه ی همراه با www رو به دامنه ی بدون www ریدایرکت کنیم .برای این کاردر فایل HTAccess کد زیر رو قرار می دهیم :
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^nabscript.ir$ [NC] RewriteRule ^(.*)$ http://nabscript.ir/$1 [L,R=301]</div> <div>
در صورتی که بخواهیم دامنه ی بدون www رو به دامنه ی همراهبا www ریدایرکت کنیم از این کد استفاده می کنیم :
RewriteEngine On RewriteCond %{HTTP_HOST} ^mysite.com [NC] RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]</div> <div>
در صورتی که بخواهیم از http و https برای ریدایرکت دامنه همراه با www به دامنه بدون www استفاده کنیم از این کد استفاده می کنیم :
RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} !^www.(.*)$ [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} !^www.(.*)$ [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]</div> <div style="text-align: justify;">
و در صورتی که به جای نوشتن اسم دامنه به صورت پارامتری توابع را تعریف کنیم از این کد استفاده می کنیم :
######################### # redirect www to no-www ######################### RewriteCond %{HTTP_HOST} ^www.(.+) [NC] RewriteRule ^(.*) http://%1/$1 [R=301,NE,L] Here are the rules to redirect a no-www URL to www: ######################### # redirect no-www to www ######################### RewriteCond %{HTTP_HOST} ^(?!www.)(.+) [NC] RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]</div> <div style="text-align: justify;">
و در صورتی که بخواهید آدرس دامنه همراه و یا بدون www را به یک زیردامنه هدایت کنید مثلا nabscript.ir و www.nabscript.ir به nabscript.ir/forum ، از کد زیر در فایل htaccess استفاده می کنیم :
RewriteEngine on Options +FollowSymlinks -MultiViews # redirect empty URL to /forums RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC] RewriteRule ^$ http://example.com/forums [R=301,L] # non forums handler RewriteCond %{HTTP_HOST} ^www.example.com$ [NC] RewriteCond %{REQUEST_URI} !^/forums [NC] RewriteRule ^(.+)$ http://example.com/$1 [R=301,L]</div> <div style="text-align: justify;">
فقط در استفاده از کدهایی که در بالا گفته شد دقت کنید که در سیستم وردپرس ، قبل از کدهای افزونه های کش ( در صورت استفاده ) قرار بگیرند.