ریدایرکت http به https

23 دیدگاه
دسته بندی: آموزش
htaccess

در مقاله htaccess. چیست به توضیحات کاملی در مورد فایل htaccess و کاربرد های آن و اینکه این فایل چگونه ایجاد می شود را تشریح کردیم.

یکی از پرکاربردترین استفاده ها ریدایرکت htaccess یا فوروارد htaccess می باشد. در این مقاله برخی از پرکاربردترین کدهای ریدایرکت htaccess می پردازیم.

htaccess

ریدایرکت http به https در htaccess

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

ریدایرکت https با (www (https://www به بدون www

RewriteEngine On

RewriteCond %{HTTPS} off [OR]

RewriteCond %{HTTP_HOST} ^www\. [NC]

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]

 

ریدایرکت https به http در htaccess

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

ریدایرکت آدرس سایت بدون www به آدرس با www 

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example.com [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

بجای عبارت example.com که نام دامنه میباشد باید آدرس دامنه خودتان را وارد کنید.

حتما بخوانید:  آشنایی با دستور apropos‎

 

ریدایرکت آدرس سایت با www به آدرس بدون www

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.example.com [NC]

RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]

بجای عبارت example.com که نام دامنه میباشد باید ادرس دامنه خودتان را وارد کنید.

 

ریدایرکت http به https بجز یک دایرکتوری یا  فولدر

<IfModule mod_rewrite.c>

RewriteCond %{HTTPS} on

RewriteRule ^%{HTTP_HOST}/demo(.*) http://%{HTTP_HOST}/demo/$1 [R=301,L]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

در مثال بالا نام دایرکتوری مورد نظر را جایگزین demo کنید.

ریدایرکت فقط یک پوشه از سایت بر بستر https

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteCond %{REQUEST_URI} folder

RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]

در این مثال بایستی folder را با نام پوشه مورد نظر جایگزین نموده و بجای www.example.com نام دامنه مورد نظر را درج کنید.

 

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

#Options +FollowSymlinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub.domain.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.sub.domain.com$

RewriteRule (.*)$ http://domain.com/$۱ [R=301,L]

 

ریدایرکت یک فایل در htaccess

RedirectMatch 301 /oldurl  /newurl

 

ریدایرکت تمامی آدرس های یک دامنه به یک آدرس خاص

RedirectMatch 301 / /newurl

ریدایرکت 302 در .htaccess

Redirect 302 / http://domain.com/

 

ریدایرکت دامنه قدیمی به دامنه جدید

RewriteEngine on

RewriteCond %{HTTP_HOST} ^ domain.ir [NC,OR]

RewriteCond %{HTTP_HOST} ^www.domain.ir [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]

نام دامنه قدیمی را جایگزین domain.ir و نام دامنه جدید را جایگزین  domain.com کنید.

 

ریدایرکت یک صفحه به صفحه دیگر

Redirect /old-index.html http://www.mynewwebsite.com/foldername/new-index.html

 

ریدایرکت دامنه پارک شده به ساب دامنه

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?parkdomain.com$ [NC]

RewriteRule ^(.*)$ http://maindomain/subdomain [L]

نام دامنه پارک شده را جایگزی parkdomain.com و بجای maindomain/subdomain  آدرس ساب دامنه مورد نظر را درج کنید.

 

ریدایرکت دامنه اصلی به ساب دامنه

Options +SymLinksIfOwnerMatch

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]

RewriteRule ^http://sub.domain.com[R,L]

بجای domain و .com نام دامنه و پسوند آن را درج نموده و بجای  sub.domain.com نام ساب دامنه مورد نظر را درج کنید.

حتما بخوانید:  آموزش نصب و راه‌اندازی افزونه Wordfence Security (گام‌ به‌ گام و تصویری)

 

ریدایرکت webmail

با کد زیر می توانید webmail.domian.com را به domain.com/webmail ریدایرکت کنید.

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?webmail.domain.com/$ [NC]

RewriteRule ^(.*)$ http:// domain.com/webmail/ [L]

نام دامنه مورد نظر را جایگزین domain.com نمائید.

ریدایرکت ساب دامنه به ip با پورت (Port)

RewriteEngine on

RewriteCond %{HTTP_HOST} ^subsonic\.mydomain\.com$ [NC]

RewriteRule ^(.*)$ http://ip:4040/$1 [R=301]

ریدایرکت کردن کل ترافیک سرور بر روی https

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

با قرار دادن این کد ها کل ترافیک هاست به https://www.example.com ریدایرکت می شود.

ریدایرکت یک پسوند خاص صفحات سایت به پسوند دیگر

 RedirectMatch 301 (.*)\.html$ http://domain.com$1.php

با این کد، صفحاتی نظیر http://domain.com/Page.html به http://domain.com/Page.php ریدایرکت ۳۰۱ می شود.

 

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

بعد از ورود به سی پنل، از منوی «Domain» روی لینک «Redirects» کلیک کنید.

ریدایرکت دامنه در سی پنل

پنجره‌ای برای شما باز می‌شود که اطلاعاتی را از شما می‌خواهد.

در فیلد اول که با عنوان «Type» مشخص شده، انتخاب کنید که آیا می‌خواهید یک تغییر مسیر دائمی (301) داشته باشید یا تغییر مسیر شما موقت (302) است.

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

در فیلد دوم دامنه خود را وارد کنید. مثل تصویر زیر:

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

فیلد سوم به شما می‌گوید، اگر می‌خواهید یک فایل خاص را ریدایرکت کنید (مانند info.html) مسیر آن را در قسمت خالی جلو “/” وارد کنید.

ریدایرکت یک فایل خاص در سی پنل

در کادر Redirects to، دامنه‌ای که می‌خواهید ریدایرکت به آن انجام شود وارد کنید.

وارد کردن دامنه ای که می خواهیم ریدایرکت به آن انجام شود

در بخش «www. Redirection» نحوه مدیریت ریدایرکت‌های www را انتخاب کنید.

این قسمت به شما امکان می‌دهد نحوه مدیریت تغییر مسیرها را در رابطه با زیر دامنه www پیکربندی کنید. به عنوان مثال، شما می‌توانید ریدایرکت را فقط در صورت وجود www اعمال کنید (یا وقتی که نباشد)، یا می‌توانید ریدایرکت را بدون توجه به اینکه کاربر در www تایپ کند یا نه، اعمال کنید.

حتما بخوانید:  APM چیست و چه کمکی به توسعه‌دهنده‌های نرم‌افزار می‌کند؟

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

گزینه «Wild Card Redirect» در پایین صفحه مشخص است و با گذاشتن یک تیک می‌توان آن را فعال یا غیرفعال کرد.

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

ریدایرکت همه صفحات

بعد از اینکه تمام تغییرات را طبق آنچه نیاز دارید انجام دادید، برای ذخیره تغییرات روی «Add» کلیک کنید.

ذخیره تغییرات ریدایرکت در سی پنل

سازنده کدهای Htaccess آنلاین

برای ایجاد کد های ریدایرکت Htaccess می توانید از لینک های زیر بهره ببرید.

لینک 1

لینک 2

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

4.5/5 - (2 امتیاز)

مایلید هر دو هفته یک ایمیل مفید دریافت کنید؟

ما را در شبکه‌های اجتماعی دنبال کنید

همچنین شاید دوست داشته باشید!

نظرات کاربران

23 دیدگاه. دیدگاه تازه ای بنویسید

  • سلام
    در رابطه با کد زیر برای ریدایرکت دامنه قدیمی به جدید:
    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^ domain.ir [NC,OR]

    RewriteCond %{HTTP_HOST} ^www.domain.ir [NC]

    RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]
    در صورتی که دامنه جدید با پروتکل https با شد فقط خط آخر تغییر می کند؟ در این صورت تغییرات به شکل زیر خواهد بود؟:
    RewriteRule ^(.*)$ https://domain.com/$1 [L,R=301,NC]
    با تشکر از پاسخ شما

    پاسخ
  • مسعود
    2 تیر 1398 21:02

    با سلام
    ممنون از مطلب خوبتون
    سوالم اینه که میخوام آدرسهایی با فرمت http://www.myWebUrl.com/main/file.php?id=2 رو به صورت http://www.myWebUrl.com/main/file/2 تو نوار آدرس نشون بدم. ( به عبارت دیگه میخوام از http://www.myWebUrl.com/main/file/2 ریداریکت کنم به http://www.myWebUrl.com/main/file.php?id=2 )
    اگه ممکنه راهنمایی کنید
    ممنون

    پاسخ
  • سلام
    بفرمایید چطور https و www را به این فایل اضافه کنیم ؟ جای این قسمت در مطلب خوبتون خالیه

    در ضمن ، این کد که در هاست وجود داره را رها کنیم ، یا باید دستخوش تغییرات بشه ؟>

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    پاسخ
    • پیام مختارنیا
      1 مرداد 1398 08:21

      سلام، این کد باشد و داخل یک خط جدید موارد ذکر شده را ایجاد کنید.

      پاسخ
  • با این ریدایرکت http به https همه ادرس ها تغییر یکنه و همه با هم تییر میکنه ؟

    پاسخ
  • سلام و درود بابت اموزش خوبتون
    من اگر که بخوام یک سری صفحات را به صفحات دیگری ریدایرکت کنم از کدام کد باید استفاده کنم ؟؟

    پاسخ
  • سلام. من میخوام کل ادرس های یک دامنه و صفحه اصلیش رو به صفحه اصلی یک ساید دیگه ریدایرکت کنم . کدش چطور میشه ؟ هر چی گشتم چیزی پیدا نکردم !

    پاسخ
  • با سلام فایل htaccess سایتم خیل کد دارد و شلوغ است این کدریدایرکت را کجا قرار دهیم ؟؟
    و اینکه در این کد اگر ادرس سایت اصلی httpsباشد باید در خط اخر اعمال شود یا کد دیگری نیاز است؟؟؟
    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^example.com [NC]

    RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

    پاسخ
  • سلام.وقت بخیر.
    ببخشید من تازه کار هستم و برای فعالسازی گواهی SSL روی سایت با راهنمایی همکاراتون به این صفحه رسیدم. متأسفانه چندبار تلاش کردم و کد قسمت (ریدایرکت http به https در htaccess) رو توی فایل کپی کردم و فایل رو هم ذخیره کردم اما علامت قفل قبل از آدرس سایتم نمیاد. مجبور شدم از افزونه SSL که همکاراتون لینکش رو فرستادن، استفاده کنم.
    و یک سؤال محل نوشتن این 3 خط کد اهمیت دارد که کجا باید باشه و خط اول الزامی داره که حتماً نوشته بشه؟! من هر دو حالت رو انجام دادم و جواب نگرفتم.
    ممنون میشم اگه منو راهنمایی کنین. دوست داشتم دستی این کار رو بکنم. تا بتونم مابقی تغییرات رو انجام بدم.
    با تشکر

    پاسخ
  • سلام و وقت بخیر.

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

    ممنون میشم راهنمایی کنید

    پاسخ
    • پیام مختارنیا
      23 فروردین 1399 10:11

      سلام
      به این صورت عمل کنید:

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

      پاسخ
  • بهتر نبود مطالب کمی ساده و روان تر برای کسانی که آشنایی ندارند در این مقاله توضیح داده میشد از اول شروع این مقاله کمی مرحله به مرحله جلو میرفتید یا حداقل این همه کد با توضیح چند کلمه ای زیرش باید کپی پیست بشه؟در اول کد های صفحه یا اخرش
    موقع فروش هاست و سرور فقط گفته میشه گواهی با ما …
    نمیگید این همه مراحل پیچیده داره ک با خودمونه

    پاسخ
    • سمیرا سرباز
      11 مهر 1399 09:07

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

      پاسخ
  • ممنون ، برای HSTS کدهاشو اگر بزارید خیلی خوب میشه

    پاسخ
  • Qzparadise.ir
    18 آذر 1399 13:28

    با سلام
    از خدمات ایران سرور کاملا رضایت دارم
    و از مطالب بینظیر و تخصصی کمال تشکر و قدر دانی را دارا میباشم .

    پاسخ
  • سلام
    از مطلب جامعی که ارائه کردید خیلی ممنونم
    یه کد ریدایرکتی میخواستم که توی این مثال ها نتونستم پیدا کنم.
    در واقع لینک های من به این شکله:

    لینک قدیم:
    http://subdomin.mydomin.com/product/123/name

    لینک جدید:
    http://subdomin.mydomin.com/subproduct/123/456/name

    (منظور از 123 آیدی محصوله و 456 هم آیدی subdomin هست و یه عدد ثابته)
    در واقع توی لینک جدید product به subproduct تغییر کرده و توی لینک جدید عدد ثابت آیدی سابدامنه اضافه شده)

    لطفا بفرمایید که با چه کدی لینک قدیم رو به لینک جدید ریدایرکت کنم؟

    بازم از راهنماییتون سپاسگذارم

    پاسخ
    • سمیرا سرباز
      31 فروردین 1400 15:40

      سلام آقا محمد، ممنون از شما

      اگر از وردپرس استفاده میکنید از افزونه 301 redirect میتونید استفاده کنید
      از طریق htaccess هم امکان راه اندای چنین چیزی هست
      RewriteEngine On RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR] RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$ RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L]

      پاسخ

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

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست