گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

انتقال (Redirect) دامنه های فرعی به اصلی

3 دیدگاه‌ها

اگه طراح وب باشید به احتمال زیاد به شرایطی برخورد کردین که شما یا مشتری پیشنهاد میدین هم دامنه ir و هم دامنه com و در شرایط حادتری چند دامنه مرتبط یا شبیه دامنه اصلی را ثبت کنید. قطعاً index شدن یک محتوا در چند دامنه برای سئو سایت مناسب نیست و دامنه های فرعی بایستی به دامنه های اصلی انتقال پیدا کنند.

بدترین اتفاق مخصوصاً در مورد دامنه های ir این هست که برای redirect از طریق ثبت کننده دامنه باید پول اضافی بدین و حتی اگه ثبت کننده شما انتقال را براتون انجام بده معمولاً فقط نام مثلاً domain1.com به domain.com منتقل میشه ، حالا اگه شما صفحه about-us به نشانی domain.com/about-us داشته باشین و کاربری صفحه domain1.com/about-us را بزنه به صفحه index دامنه domain.com انتقال پیدا میکنه.

حالا برای اینکه هم هزینه اضافی نکنیم و هم هر صفحه‌ای با هر مسیری که زده میشه به دامنه اصلی و همون صفحه انتقال داده بشه باید از htaccess. استفاده کنیم :

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

برای توضیح بیشتر :
خط ۱ : Rewrite (بازنویسی) را فعال میکنیم.
خط ۲ : بازنویسی بر پایه ریشه انجام میشه.
خط ۳ : مقدار شرطی برای خط بعد هست و میگه اگه هاست مربوط به URL درخواستی (منظور همون domain.com یا domain1.com بدون www هست) برابر با domain.com نبود (NC یعنی به حروف بزرگ و کوچیک حساس نشو !)
خط ۴: منظور از *. اینه که هر چی بعد از نام هاست در ادامه URL بود را با دامنه domain.com فراخوانی کن ! (L یعنی دیگه شرایط و حالت های بعدی را نمیخواد بررسی کنی و کار را تموم کن. R=301 هم میگه کلاً مسیر را اشتباه اومدی و از این به بعد مسیری که من دارم بهش انتقال میدم را در نظر بگیر که این برای موتور های جستجو معنی داره)

حالا اگه ۱۰۰ تا دامنه را هم توی cpanel روی هاستتون Park کنید.با هر دامنه و مسیری که کاربران توی مرورگرشون بزنن به دامنه domain.com که دامنه اصلی هست و همون مسیر درخواستی منتقل میشوند.



برچسب‌ها:

  1. mehdi گفت:

    سلام
    من یک مشکلی دارم ُ مثلا رو یک هاست تو دامین ir و com ادد کردیم وقتی کسی روی ادمین .ir لاگین کنه و با دامین .com وارد بشه session ها با هم نمیخونه ُ یعنی باز دوباره تو دامین com باید لاگین کنه ُ لطفا راهنمایی کنید .

    1. یونیک مدیر گفت:

      فکر کنم شما کلا یک موضوع دیگه را مطرح کردین. توی این پست میخوایم هر دامنه ای غیر از com را کاربر خواست مثلا ir یا net یا کلا یک اسم دیگه را به com منتقلش کنیم.
      اما در مورد مشکل شما :
      cookie ها بر اساس host name توی مرورگر ذخیره میشن و دلیل اینکه کاربری که با ir لاگین کرده توی com لاگین نیست و باید لاگین کنه همین متفاوت بودن cookie ها برای host name یا همون نام اصلی دامنه هستش.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *