ریدایرکت چیست؟ تمام کدهای ریدایرکت 301 به طور یکجا
با عرض سلام و خسته نباشید خدمت تموم کاربران عزیز میز وردپرس
امروز قصد کردیم باری شما یک اموزش خیلی خفن اماده کنیم.که چگونه به طور کامل ریدایرکت 301 و کد های مورد نیازش رو بیاموزیم.
ابتدا بزارید مقداری با ریدایرکت های مختلف اشنا شویم.مهم ترین ریدایرکت های رابرای شما در زیر اوردیم که در بین این موارد مهم ترین ان باز ریدایرکت 301 میباشد.
ریدایرکت 301 به معنای تغییر آدرس صفحه است. از این تکنیک برای انتقال کاربران و موتورهای جستجو به آدرس صفحه جدید استفاده می شود. از این ریدایرکت در هنگامی که آدرس قبلی به هر دلیلی تغییر پیدا کند، استفاده می شود و باعث می شود که تمامی ترافیک آدرس قبلی به URL جدید انتقال پیدا نماید.
گر به دلیل تعمیر، عدم وجود محتوا یا … قصد انتقال کاربران در سایت خود را دارید این روش توصیه می شود. برخی از کارمندان گوگل اعلام کرده اند که از دیدگاه موتور جستجو گوگل تفاوتی میان انتقال قدرت صفحه بین ریدایرکت ۳۰۲ و ۳۰۱ وجود ندارد اما ما توصیه می کنیم تا از این روش برای موارد خاص موقتی انجام شود و دلیل آن ها پیروی از قوانین پیش فرض Internet است.
ریدایرکت ۳۰۷ کاملا شبیه به ۳۰۲ عمل می کند اما تفاوتی در نحوه اجرا با ۳۰۲ دارد. Redirect 307 بر روی پروتکل HTTP 1.1 اجرا می شود. بیشتر خزنده ها از جلمه بینگ و گوگل با این روش همانند ۳۰۲ رفتار می کنند اما به طور کلی بهتر است که از ۳۰۱ یا ۳۰۲ استفاده شود.
این ریدایرکت مخصوص به زمانی است که مطمئن باشید موتور جستجو از پروتکل ورژن جدید HTTP 1.1 پشتیبانی می کند که در حال حاضر تمامی آن ها قابلیت پشتبانی از ورژن قدیمی تر را دارند پس جای نگرانی نیست.
متارفرش از آن دسته ریدایرکت ها است که بسیار کند بوده و بیشتر بر روی سطح صفحه اجرا می شود تا سرور برای همین به هیچ وجه توصیه نمی شود.
دراین روش کد رفرش در تگ HTML صفحه قرار گرفته و کاربران با یک شمارش معکوس مثلا ۵ ثانیه ای پس از بارگذاری کامل صفحه قدیمی به صفحه جدید هدایت می شوند.
Meta refreshes قدرت و اعتبار لینک های صفحه را به صورت کاملا منتقل (Pass) نمی کند.
خب بریم سراغ کد های مخصوص ریدایرکت 301 !!
کدهای زیر باید در داخل فایل .htaccess قرار گیرید ( قبل استفاده از این کد ها حتما یک نسخه پشتیبان از ان فایل تهیه کنید)
کد اول : ریدایرکت به http
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{SERVER_NAME}/$1 [R=301,L]
کد دوم : ریدایرکت به https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
قسمت دوم : دارای www
کد سوم : ریدایرکت به http و www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
کد چهارم : ریدایرکت به https و www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
کد پنجم : ریدایرکت به http و non-www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
کد ششم: ریدایرکت به https و non-www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
قسمت سوم : پروتکل و دارای www همراه هم
کد هفتم : ریدایرکت به http و www
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{SERVER_NAME}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
کد هشتم : ریدایرکت به https و www
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
کد نهم : ریدایرکت به http و non-www
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{SERVER_NAME}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
کد دهم : ریدایرکت به https و non-www
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
اینم تموم کدها و تموم حالت هایی مکن برای ریدایرکت که امیدوارم استفاده کنید و لذت ببرید.