نحوه ریدایرکت دامنه از طریق htaccess ، PHP ، HTML و JavaScript
نحوه ریدایرکت دامنه از طریق htaccess ، PHP ، HTML و JavaScript آموزش

ریدایرکت دامنه از طریق htaccess. ، PHP  HTML و JavaScript چطور انجام می شود ؟

ریدایرکت دامنه برای پروژه های بزرگ وب نقش اساسی دارد . گزینه انتقال ترافیک از یک وب سایت به وب سایت دیگر ، به اپراتور های وب سایت کمک می کند تا جریان بازدید کنندگان را بهتر مدیریت کنند و اقدامات بازسازی سایت را به درستی انجام دهند .

علاوه بر این ، ریدایرکت دامنه به کاربران امکان می دهد محتوای یکسان را در دامنه های مختلف ارسال کنند ؛ بدون این که این موارد به عنوان محتوای تکراری طبقه بندی شوند . علاوه بر این ، ریدایرکت دامنه یک ابزار مدیریت شاخص کارآمد برای بهینه سازی موتور جستجو است .

در رابطه با این وظیفه ، گزینه های زیادی در اختیار اپراتور های وب سایت برای ریدایرکت دامنه ها یا زیر دامنه ها است . این ها را می توان در یک حضور وب منتقل کرد یا به یک آدرس خارجی ریدایرکت کرد .

این ریدایرکت ها اغلب از طریق گزینه های معروف مثل .htaccess ، اسکریپت PHP ، متا تگ های HTML و JavaScript انجام می شوند .

 

پیشنهاد مطالعه : مقاله دلایل استفاده از ریدایرکت

عنوان های این مقاله :

  1. ریدایرکت دامنه های وب سایت
  2. انواع ریدایرکت  دامنه
  3. ریدایرکت های Server-side
  4. نکته سئو
  5. ریدایرکت های Client-side 

 

ریدایرکت دامنه های وب سایت

ریدایرکت دامنه

اساساً ، از ریدایرکت ها برای آگاهی دادن به سرور ها استفاده می شود ، که محتوای سایت از یک URL به آدرس دیگری منتقل شده است .

انجام این کار زمانی ضروری است که وب آدرس اصلی ، هدفِ لینکِ ورودی باشد ، در کامپیوتر بازدید کننده ذخیره شده باشد یا در صفحات نتیجه موتور جستجو (SERP) جایگاه برجسته ای داشته باشد .

در این حالت ، ریدایرکت با مرورگر یا خزنده وب ارتباط برقرار می کند که محتوای مورد نظر منتقل شده است ، در عوض لینکی به آدرس جدید به کاربر ارائه می دهد .

بدون چنین ریدایرکت هایی ، اپراتور های وب سایت به جای سایت جستجو شده با صفحه خطای 404 روبرو می شوند . این چیزی است که به ویژه پروژه های وب تجاری از آن جلوگیری می کنند .

فروشگاه های آنلاین طیف وسیعی از محصولات را که به طور متنوعی در صفحات وب مختلف نمایش داده می شود ، ارائه می دهند . وقتی کالایی دیگر در دسترس نباشد ، مشتریان فعلی سپس به صفحه ای با محصولات مشابه هدایت می شوند .

این کار باعث می شود تا جمعیت بازدید کنندگان با کارایی بیشتری ریدایرکت شود و همچنین نرخ پرش را به حداقل می رساند .

علاوه بر این ، ریدایرکت دامنه امکان دسترسی به محتوای یکسان را در وب آدرس های مختلف فراهم می کند . در طول این مرحله ، تمام آدرس های جایگزین به سمت دامنه اولویت بندی شده وب سایت هدایت می شوند .

انواع ریدایرکت دامنه

ریدایرکت دامنه

به طور کلی تمایزی بین ریدایرکت های client-side و server-side وجود دارد . با ریدایرکت دامنه server-side ، کد های مربوط به وضعیت HTTP به عوامل کاربر (مرورگر ها یا خزنده های وب ) منتقل می شوند .

در مورد ریدایرکت های client-side ، مسئله کمی متفاوت به نظر می رسد : این موارد بدون هیچ گونه پاسخی انجام می شوند ، به این معنی که هیچ کد استاتوسی صادر نمی شود . به همین دلیل است که این مورد توسط هر عامل کاربر پشتیبانی نمی شود .

این اتفاق حتی گاهی اوقات می تواند منجر به شرایطی شود که بازدیدکنندگان در وب سایت اصلی باقی بمانند و به صفحه جدید هدایت نشوند . چنین اشکالاتی تنظیم این گزینه در سمت سرور را به عنوان معیار ارجح برای ریدایرکت ها درنظر گرفته است .  وقتی ریدایرکت دامنه سمت سرور به دلیل موانع فنی منتفی شده ، از سولوشن های client-side فقط باید استفاده شود .

ریدایرکت های Server-side

ریدایرکت دامنه

در بیشتر موارد ، ریدایرکت دامنه سمت سرور از طریق فایل پیکربندی ، .htaccess یا یک اسکریپت PHP انجام می شود . مزیتی که این روش ها ارائه می دهند ، این است که می توان به صورت جداگانه کد وضعیت HTTP را برای عامل کاربر نمایش داد .

این کار به اپراتور های وب سایت امکان می دهد تا هدایت دامنه را به صورت دائمی یا موقتی علامت گذاری کنند . در اینجا ، کد وضعیت HTTP 301 و 302 مد نظر است .

301 – به طور دائمی منتقل شد .

منبع درخواستی اکنون به طور دائم در زیر URL ریدایرکت شده در دسترس است . URL قدیمی از این مرحله به بعد نامعتبر خواهد ماند .

302 – به طور موقت منتقل شد .

منبع درخواستی تحت URL ریدایرکت شده در دسترس است . برخلاف کد 301 ، URL اصلی همچنان معتبر است .

اگر کد وضعیت HTTP به صراحت تعریف نشده باشد ، وب سرور هنگام ریدایرکت server-side ، کد وضعیت 302 را منتقل می کند . این همیشه ضروری نیست و توصیه می شود هنگام هر تغییر مسیر ، کد وضعیت دلخواه را به صورت دستی وارد کنید .

زیرا این امر به کاهش احتمال وقوع خطا های نمایه سازی مثل هایجکینگ URL کمک می کند . بر خلاف ریدایرکت  301 ، کد وضعیت 302 به خزنده های وب اطلاع می دهد که URL اصلی باید در فهرست باقی بماند .

هنگامی که برای کار دائمی در نظر گرفته می شود ، آدرس ریدایرکت با مقصد ریدایرکت در فهرست موتور جستجو رقابت می کند .

نکته سئو

استفاده از یک ریدایرکت مناسب ، باعث می شود که لینک های ورودی به همین ترتیب ریدایرکت شوند و همچنین به وب سایت کمک می کند تا رتبه بندی جستجو خود را حفظ کند و از ترافیک پایین هم جلوگیری می کند .

 

ریدایرکت htaccess.

htaccess یک فایل پیکربندی برای سرور های Apache است که برای رونویسی پیکربندی مرکزی در سطح دایرکتوری استفاده می شود . این فایل به اپراتور های وب سایت اجازه می دهد تا تنظیمات خاص دایرکتوری را برای دامنه ها و زیر شاخه های آن ها انجام دهند .

یکی از توابع فایل htaccess. شامل ریدایرکت آدرس های جداگانه به سمت سرور از طریق آدرس های دیگر است .

هنگامی که یک فایل htaccess. با کد زیر در فهرست اصلی قرار گرفت ، درخواست ها برای دامنه اصلی از سمت سرور به دامنه ” www.example.com ” هدایت می شوند :

htaccess. به یک دامنه جدید ریدایرکت می شود .

 

خط کد با ” ریدایرکت 301 ” آغاز می شود و کد وضعیت HTTP را که باید توسط سرور منتقل شود تعیین می کند . سپس این مسیر به سمت محتوایی که باید ریدایرکت شود ، دنبال می شود .

همانطور که در اسلش فوروارد بالا ذکر شده است ، در این حالت کلیه مطالب ریدایرکت می شوند . مرحله آخر وقتی ریدایرکت می شود که URL کامل مقصد به URL عامل کاربر هدایت شود :

یعنی « http://www.example.com ».

این روش اجازه ریدایرکت فایل های منفرد را می دهد . کد زیر ریدایرکت از یک وب سایت به وب سایت دیگر را نشان می دهد :

htaccess. از ساب دامین به URL دیگری ریدایرکت می شود .

 

پس از رسیدگی به کد وضعیت HTTP 301 ، مسیر فهرست فایل ، که باید برای همیشه ریدایرکت شود ( ‘/directory/example-document.html’ ) و URL ریدایرکت ( ‘http://www.example.com /example.html ‘ ) نامگذاری شده اند .

در اینجا نحوه تغییر مسیر دائمی می تواند در یک سرور Apache با ماژول mod_rewrite فعال به نظر برسد :

 

در خط کد 01 ، ماژول سرور Apache mod_rewrite با دستور ” RewriteEngine On ” فعال می شود . به دنبال این ، یک ‘ RewriteRule ‘ با مسیر فایل ریدایرکت و آدرس مقصد وجود دارد .

نماد های Caret و دلار آغاز و پایان مسیر را مشخص می کنند و L آخرین قانون بازنویسی mod را برای درخواست مربوطه برچسب گذاری می کند . R = 301 استاتوس HTTP 301 را فوروارد می کند .

هنگام پیکربندی ریدایرکت دامنه از طریق htaccess. توجه به این نکته مهم است که ورودی های اشتباه ممکن است تأثیرات جدی بر عملکرد وب سایت داشته باشند . با توجه به اینکه این تغییرات مستقیماً پس از ذخیره فایل htaccess. به اجرا در می آیند ، تنظیمات تطبیق باید همیشه کاملاً آزمایش شوند .

ریدایرکت های PHP

تغییر مسیر دامنه همچنین می تواند از طریق یک دستور در یک اسکریپت PHP ( به عنوان مثال در index.php ) انجام شود . کد زیر ریدایرکت دائمی به آدرس مقصد ساختگی ، ” www.example.com ” را نشان می دهد .

ریدایرکت از طریق PHP

هنگام ارسال از طریق اسکریپت PHP ، کد استاتوس HTTP در نظر گرفته شده از طریق تابع ” header ” در خط دوم کد تعریف می شود . در این مثال ، یک ریدایرکت  301 دائمی انجام می شود .

با توجه به اینکه تغییر مسیر های سمت سرور معمولاً به صورت موقتی انجام می شوند ، تغییر مسیر های دائمی که از طریق کد استاتوس 301 اتفاق می افتد ، باید صریحا وارد عمل شوند . آدرس مقصد ریدایرکت دامنه نیز در اینجا با عنوان ” header ” ثبت شده است .

ریدایرکت در این مثال سپس به آدرس ، ” http://www.example.com ” می رود . عملکرد خروج در خط 04 کد اسکریپت را به پایان می رساند و از اجرای یک خط کد بعدی جلوگیری می کند .

برای اینکه ریدایرکت ها از طریق اسکریپت PHP کار کنند ، بلاک کد باید در ابتدای صفحه HTML باشد . با این کار سرور از انتقال محتوای HTML به صفحه ریدایرکت جلوگیری می کند .

نکته سئو

از ریدایرکت زنجیره ها خودداری کنید! بسیاری از آن ها منجر به کاهش ترافیک می شوند .

 

ریدایرکت های client-side

ریدایرکت دامنه

اگر به دلایل فنی انجام ریدایرکت دامنه سمت سرور امکان پذیر نباشد ، اپراتور های وب سایت امکان استفاده از سولوشن های client-side را دارند . متا تگ refresh ” HTML ” و همچنین JavaScript مربوطه برای این مورد در دسترس هستند .

نقطه ضعف ریدایرکت های client-side این است که سرور ها کد های استاتوس HTTP را به مرورگر های درخواست کننده یا خزنده وب تحویل نمی دهند . به این معنی که آن ها به طور وضح و دقیق از تغییر مسیر اطلاع ندارند .

علاوه بر این ، ارجاع های client-side توسط همه عوامل کاربر پشتیبانی نمی شود . به این معنی که این خطر وجود دارد که همه بازدید کنندگان وب سایت ریدایرکت نشوند .

ریدایرکت های client-side تأثیر منفی در نمایه سازی موتور جستجو دارد . حذف صریح از نمایه سازی از طریق کد استاتوس HTTP 301 در ریدایرکت های سمت کاربر رخ نمی دهد . این امر می تواند منجر به ریدایرکت دامنه ها با دامنه های مقصد در مورد موضوعات مرتبط با رتبه بندی موتور جستجو شود .

برخلاف تغییر مسیر های سمت سرور ، که تا حد زیادی برای کاربران غیرقابل مشاهده است ، ریدایرکت  سمت کاربر همیشه با تأخیر همراه است . که حتی ممکن است در پایان برخی از کاربران متوجه شوند .

فوروارد از طریق HTML meta refresh

ریدایرکت های متا HTML از طریق تگ های متا با ویژگی http-equiv اجرا می شوند . تمام آنچه برای این کار لازم است ، یک فایل HTML ساده و برچسب تطبیق در عنوان برای ایجاد ریدایرکت ها است .

برای اینکه بازدید کنندگان از ریدایرکت مطلع شوند ، باید یک اطلاعیه مربوطه در سند HTML تنظیم شود . مثال های معمولی شامل خطوطی مثل : لطفاً  چند لحظه صبر کنید یا شما ریدایرکت می شوید به … ’. ریدایرکت دامنه ساده از طریق HTML meta refresh به شرح زیر است :

ریدایرکت از طریق HTML meta refresh

 

از کاربرخواسته می شود تا از طریق برچسب متا  http-equiv=‘refresh‘ ریدایرکت دامنه را انجام دهد . اینکه چطور این اتفاق می افتد را می توان در ویژگی محتوا تعریف کرد . مثال بالا پس از ده ثانیه کاربران را به دامنه مقصد ، ” www.example.com ” ریدایرکت می کند .

ریدایرکت JavaScript

جاوا اسکریپت امکان ریدایرکت آسان دامنه سمت کاربر را فراهم می کند . با این حال ، همانطور که در مورد متا تگ ‘refresh’ وجود دارد ، از تغییر مسیر های جاوا اسکریپت فقط باید به صورت موردی استفاده شود .

زیرا این زبان مبتنی بر اسکریپت به دلیل مشکلات امنیتی توسط هر مرورگر وب پشتیبانی نمی شود . JavaScript همچنین می تواند برای خزنده های وب و کاربران دارای افزونه های فعال NoScript مشکل ایجاد کند . در اینجا نحوه جستجوی کد برای ریدایرکت دامنه از طریق JavaScript آمده است :

ریدایرکت از طریق JavaScript

 

مهم ترین چیز در اینجا خط سوم کد است . در کد مثال ، برای اشاره به آدرس وب سایت فعلی ، از اوبژه ، ” window.location ” استفاده شده است . دستور ‘replace’ به مرورگر دستور می دهد تا کاربر را به دامنه مقصد واقع در داخل پرانتز ریدایرکت کند ، به عنوان مثال ” www.example.com ” .