آموزش کدهای redirects در htaccess | راهنمای ریدایرکت با htaccess (301، HTTPS و وردپرس)



فایل `.htaccess` یکی از قدرتمندترین ابزارها در سرورهای Apache و LiteSpeed برای مدیریت URLها و ترافیک سایت است. یکی از اصلی‌ترین کاربردهای این فایل، ایجاد “ریدایرکت” یا تغییر مسیر است. یک دستور redirect صحیح به شما کمک می‌کند تا کاربران و موتورهای جستجو را از یک آدرس قدیمی به یک آدرس جدید هدایت کنید، بدون اینکه اعتبار سئوی خود را از دست بدهید.

این راهنما به عنوان یک مرجع کامل، تمام کدهای پرکاربرد و ضروری برای ریدایرکت با htaccess را پوشش می‌دهد. برای استفاده از این قابلیت‌ها، شما به دسترسی به فایل‌های سرور نیاز دارید که با خرید سرور مجازی این کنترل کامل در اختیار شما قرار می‌گیرد.

 

 

ویژگیاهمیت
ریدایرکت‌ های صحیح 301/302حفظ سئو و انتقال ترافیک بدون افت اعتبار
تبدیل http به httpsافزایش امنیت و بهبود رتبه در موتورهای جستجو
حذف یا افزودن wwwجلوگیری از ایجاد نسخه‌ های تکراری از صفحات

 

مفاهیم پایه: تفاوت ریدایرکت 301 و 302

 

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

  • ریدایرکت 301 (Permanent): به موتورهای جستجو می‌گوید که یک صفحه برای **همیشه** به آدرس جدیدی منتقل شده است. این نوع ریدایرکت، تمام اعتبار و رتبه سئوی صفحه قدیمی را به صفحه جدید منتقل می‌کند.
  • ریدایرکت 302 (Temporary): به موتورهای جستجو می‌گوید که این یک انتقال **موقت** است و آدرس اصلی همچنان معتبر است. از این نوع ریدایرکت معمولا برای تست یا انتقال‌های کوتاه‌مدت استفاده می‌شود.

 

کدهای پرکاربرد ریدایرکت در htaccess.

 

در ادامه، مجموعه‌ای از پرکاربردترین سناریوهای ریدایرکت آورده شده است.

 

۱. ریدایرکت یک صفحه به صفحه‌ای دیگر (ریدایرکت 301 در htaccess)

 

ساده‌ترین و رایج‌ترین نوع ریدایرکت. برای زمانی که آدرس یک مقاله یا محصول را تغییر داده‌اید.

Redirect 301 /old-page.html /new-page.html

 

۲. ریدایرکت کل دامنه به دامنه جدید

 

زمانی که دامنه سایت خود را به طور کامل تغییر داده‌اید، از این کد برای انتقال تمام ترافیک و سئو استفاده کنید.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$
RewriteRule ^(.*)$ "https://www.new-domain.com/$1" [R=301,L]

 

۳. ریدایرکت HTTP به HTTPS

 

یکی از مهم‌ترین کدهای ریدایرکت برای امنیت و سئو، اجباری کردن استفاده از پروتکل امن HTTPS است.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

۴. مدیریت www (ریدایرکت به نسخه با www یا بدون www)

 

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

 

ریدایرکت از non-WWW به WWW:

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

 

ریدایرکت از WWW به non-WWW (حذف www):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

 

ریدایرکت در پلتفرم‌های خاص

 

آموزش ریدایرکت در وردپرس

 

اگرچه می‌توانید تمام ریدایرکت‌های بالا را مستقیما در فایل `.htaccess` سایت وردپرسی خود قرار دهید، اما برای مدیریت تعداد زیادی ریدایرکت، استفاده از افزونه بسیار ساده‌تر و امن‌تر است. افزونه محبوب “Redirection” به شما اجازه می‌دهد تا تمام تغییر مسیرها را از طریق پیشخوان وردپرس مدیریت کنید.

با این حال، گاهی اوقات ممکن است خود وردپرس یا یک افزونه به شما پیامی مانند “تغییر مسیر وردپرس 301 فعال شد توصیه می کنیم تغییر مسیر 301 .htaccess را فعال کنید” نمایش دهد. این پیام به این معنی است که برای عملکرد بهتر، بهتر است قوانین ریدایرکت مستقیما روی سرور (در فایل `.htaccess`) اجرا شوند. در این حالت، استفاده از کدهای بالا روش صحیحی است.

 

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

 

برای ریدایرکت دامنه در دایرکت ادمین، یک راه ساده‌تر از ویرایش دستی فایل `.htaccess` وجود دارد:

  1. وارد کنترل پنل دایرکت ادمین شوید.
  2. به بخش Site Redirection بروید.
  3. در فیلد “Local URL Path”، آدرس مبدا (مثلا `/old-page.html`) را وارد کنید.
  4. نوع ریدایرکت (301 Permanent) را انتخاب کنید.
  5. در فیلد “Destination URL”، آدرس کامل مقصد را وارد کرده و روی Save کلیک کنید.

این ابزار به صورت خودکار قوانین صحیح را در فایل `.htaccess` برای شما ایجاد می‌کند.