گروه نرم افزاری چابک > طراحی و توسعه > htaccess > ریدایرک یک دامنه به دامنه دیگر
ریدایرک یک دامنه به دامنه دیگر

ریدایرکت یک دامنه به دامنه دیگر با استفاده از htaccess

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

در صورتی که نیاز باشد یک دامنه (به طور مثال دامنه olddomain.ir) متصل به وب سایت به دامنه اصلی سایت(به طور مثال newdomain.com) ریدایرکت شود. از قطعه کد زیر در فایل .htaccess موجود در پوشه روت وب سایت استفاده می شود. لازم به ذکر است به جای olddomain در قطعه کد زیر نام دامنه ای که قرار است منتقل شود و به جای newdomain در قطعه کد زیر نام دامنه اصلی که قرار است ادرس مورد نظر ما به آن منتقل شود را وارد می کنیم.

#ir to com redirect
RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$
RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com\/" [R=301,L]

 

 اهمیت: بالا، در صورت وجود چند دامنه متصل به یک وب سایت

محل استفاده: فایل htaccess داخل پوشه اصلی وب سایت

دلیل استفاده:

  • انتقال یک یا چند دامنه متصل به وب سایت به دامنه اصلی (مانند انتقال خودکار دامنه .ir وب سایت به .com
  • انتقال دامنه قدیمی به دامنه جدید
  • باز شدن تمام ادرس های انتخابی بر روی دامنه اصلی(ادرس مورد نظر) برای سایت هایی با چند نام و ادرس و پیشگیری از محتوای تکراری

 

بیشتر بخوانید!

ریدایرکت همه ادرس های داخل یک پوشه به روت

منبع و اطلاعات بیشتر:

راهنمای بازنویسی آدرس ها در سرور آپاچی

54 دیدگاه در “ریدایرک یک دامنه به دامنه دیگر

  1. سلام خسته نباشید ببخشید من دامنم رو ریدایرکت کردم و یک مشکلی دارم ممنون میشم راهنمایم کنید.
    من دامنه ریدایرکت شده رو با olddomain.ir که میزنم ریدایرکت میشه ولی وقتی با اس اس ال میزنم ریدایرکت نمیشه مثلا https://olddomain.ir ممنون میشم راهنمای کنید که چجوری این کار را انجام بدم و هاستم اس اس ال رایگان داره.

      1. اگه نیاز به ریدایرکت با www ندارید اون رو از کد بالا👆حذف کنید یا به عبارتی 👇

        RewriteCond %{HTTP_HOST} !^olddomain\.ir [NC] 
        RewriteCond %{HTTPS}s ^on(s)|
        RewriteRule ^ http%1://newdomain.com%{REQUEST_URI} [L,R=301]
        

        پارامتر REQUEST_URI هم اگه نخواستید ریکوئست های ارسال شده به دامنه قدیمی یا دامنه پوینتر هم ریدایرکت بشه حذف کنید که بهتره اینکار صورت نگیره و همه ریکوئست ها دقیقا و عینا‌ به دومین جدید ریدایرکت بشن

  2. با سلام و عرض خسته نباشید
    میخوایم یک سایت که اس اس ال داره را به یک سایت دیگر که اس اس ال داره ریدایرکت کنیم میتونید بهمون کمک کنید

    1. سلام
      اینکار بسیار ساده است. فقط دقت کنید که هر دو سایت باید ssl ولید و مربوط به خودشون رو داشته باشن. در غیر اینصورت ریدایرکت با خطای ssl در مرورگر مواجه میشه. اگه add-on روی یه هاست ایجاد کردید و ssl ولید برای اون ندارید به سادگی نمیتونید ریدایرکت رو انجام بدید و با خطا مواجه خواهید شد.
      در صورتی که هر دو سایت ssl نصب شده رو دارن کافیه که از کد زیر در htaccess سایت قدیمی که قراره به سایت جدید ریدایرکت بشه استفاده کنید. در اینصورت همه ریکوئست ها به سایت جدید منتقل میشن. فرق هم نداره ریکوئست http باشه یا https و قطعه کد زیر هر دو رو پشتیبانی میکنه
      باز ما دقیق نمیدونیم شما از چه وب سروری استفاده میکنید و تنظیمات به چه شکلی صورت گرفته. کد زیر روی وب سرورهای apache و litespeed تست شده.

      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\.olddomain\.ir [NC] 
      RewriteCond %{HTTPS}s ^on(s)|
      RewriteRule ^ http%1://www.newdomain.com%{REQUEST_URI} [L,R=301]
      

      یه روش ساده دیگه هم هست که برای ریدایرکت ادرس های یکتا استفاده میشه ولی با کمی تغییرات میشه به عنوان ریدایرکت کلی تمام ریکوئست ها و تصاویر و فایل ها و ….. ازش استفاده کرد. اون رو هم میزارم شما تست کنید.
      کافیه کد زیر رو در htaccess سایت قدیمی قرار بدید و جای newdomain ادرس جدید رو وارد کنید.

      RedirectMatch 301 /(.*) https://www.newdomain.org/$1
      

      اگه به اطلاعات بیشتری هم نیاز دارید صفحه زیر به شما کمک میکنه و توضیحات مفیدی در اون ارائه شده
      https://moz.com/learn/seo/redirection
      موفق باشید

  3. سلام وقت بخیر
    من چندین بار این کد را امتحان کردم ولی یک مشکلی دارم. من برای دامنه .com یک SSl گرفتم ولی دامنه .ir ندارد. با هر روش که دامنه ir رو ریدایرکت میکنم روی .com؛ وقتی آدرس زیر رو می زنم ؛ سایت ریدایرکت نمی شود»
    http://site.ir
    https://site.ir
    ولی با آدرس زیر ریدایرکت میشه»
    http://www.site.ir
    میشود راهنمایی کنید.ممنون

    1. دقیقا کدی که بکار گرفتید رو ارسال کنید بررسی کنیم
      با این حال اگه وب سرور اپاچی هست کد زیر باید روی هر دو حالت کار کنه، یعنی هم www و هم بدون www رو ریدایرکت کنه روی دامنه جدید

      RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR]
      RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$
      RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com\/" [R=301,L]
      

      اگه www ریدایرکت میشه بدون www هم باید ریدایرکت بشه، ممکنه مرورگر یا مودم ادرس رو کش کرده باشه و با مرورگر دیگه تست کنید مشکلی نباشه یا با نت دیگه. از سرویس انلاینی مثل gtmetrix استفاده کنید یا سرویس های دیگه و ببینید ریدایرکت صورت میگیره یا خیر. حتی ادرس رو همینجا قرار بدید ما هم میتونیم تست کنیم و نتیجه رو خدمتتون بگیم
      در اخر اگه روی دومین قدیمی ssl ولید ندارید و از هاست اشتراکی استفاده میکنید و add-on ایجاد کردید نمیتونید ریدایرکت رو انجام بدید و مرورگر خطای ssl میده، به هر حال همه چی بستگی به وب سرور، تنظیماتش و رول های مورد استفاده شما داره. باید توضیح دقیقی بدید تا بشه راهنمایی کرد
      موفق باشید

      1. اول که بسیار بسیار ممنونم که وقت گذاشتید و جواب دادید. با این کد که گذاشته بودید، الان آدرس زیر هم ریدایرکت میشه:
        http://old.ir
        ولی هنوز آدرس زیر ریدایرکت نمیشه:
        https://old.ir
        ————
        دامنه ir که می خواهم ریدایرکت بشه ،اصلا SSL نداره. فقط دامنه .com هست که SSL داره.
        دامنه add-on تعریف نشده و داخل خود بخش domain هست و دامنه اصلی .com تعریف شده.
        با مرورگرهای دیگه هم تست کردم، نشد.
        بازهم ممنون از وقتی که گذاشتید

        1. سلام
          اگه روی دامنه ای که تمایل به ریدایرکتش دارید. مثل همین دامنه دات آی آر که ssl نداره قاعدتا نمیتونید ریدایرکت با https رو انجام بدید. حتما باید روی دامنه .ir هم اس اس ال داشته باشید که بتونید با https ریدایرکت کنید در غیر اینصورت اصلا امکان چنین چیزی وجود نداره که در مرورگر https رو وارد کنید و بدون داشتن ssl ولید ریدایرکت صورت بگیره. یا مرورگر خطا میده یا اینکه کلا تایم اوت صورت میگیره(با توجه به باز بودن یا نبودن پورت ۴۴۳ سرور).
          راه حل: به راحتی برای دامنه ir یه اس اس ال lets encrypt که رایگان هست تهیه کنید و نصب کنید و مشکل ریدایرکتتون حل میشه. البته نیاز به تغیراتی در کد .htaccess هست که بالاتر در کامنت ها اورده شده. اگه نیاز به توضیح بیشتری هست در خدمتم.
          موفق باشید

  4. سلام من دامنه .com و .ir رو خریدم و روی دامنه کام سایت بالا اوردم و می خواهم ای ار رو پاک دامین کنم و ریدایرکت بشه به دات کام د فایل htaccses
    لطفا کد رو می تونید بدین

    1. سلام
      شما نسبت به کنترل پنلتون که cpanel یا directadmin هست میتونید دامنه رو پارک کنید، گزینه aliases یا domain pointer یا parked domain رو در کنترل پنل پیدا کنید، در سی پنل در قسمت domains گزینه aliases هست و انتخابش کنید یه صفحه باز میشه که نوشته Create a New Alias و دامنه ای که تمایل دارید پارک کنید رو وارد کنید و add رو بزنید، بعد از اضافه شدن گزینه manage redirect رو انتخاب کنید که تنظیماتش هم ساده است و دامنه ای که تمایل دارید ریدایرکت بشه رو وارد کنید و تمام. ضمنا دقت کنید دی ان اس رو باید روی دومینی که پارک میکنید هم ست کرده باشید
      در دایرکت ادمین هم در قسمت advanced feature گزینه domain pointer رو انتخاب کنید و ادرس دامنه که تمایل دارید ریدایرکت بشه رو وارد کنید و htaccess رو هم بررسی کنید و در صورت لزوم ریدایرکت رو طبق کدهای بالا ایجاد کنید و تمام
      در سی پنل نیاز به htaccess ندارید و تنظیمات خودکار ایجاد میشه و نیاز نیست دستی کدی رو وارد کنید
      اگه پاسخ بنده مشکل شما رو حل نکرد توضیح بیشتری بدید که دقیقا تمایل به چه کاری دارید و کنترل پنل یا وب سرورتون چی هست تا کمکتون کنم

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

    1. سلام
      اینکار بسیار ساده است. در هاستی که تمایل دارید ادرسش ریدایرکت بشه فایل .htaccess رو باز کنید و کد زیرو بزارید داخلش و تمام. البته جای newdomain.com ادرس مورد نظر برای ریدایرکت رو جایگزین کنید

      Redirect 301 / http://newdomain.com
      

      اگه تمایل دارید از mode_rewrite استفاده کنید و تمام ریکوئست ها هم عینا ریدایرکت بشه(در صورتی که ساختار لینک ها یکسان هست) از کد زیر استفاده کنید. در همون هاستی که تمایل دارید ادرسش ریدایرکت بشه. جای olddomain و newdomain هم ادرس های خودتون رو بزارید

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

      البته اینجوری هم میشه کد اول رو تغییر داد تا همینکارو بکنه

      RedirectMatch 301 /(.*) https://www.newdomain.org/$1
      

      ضمنا برای ریدایرکت، چه سایت وردپرس باشه و چه نباشه هزار و یکجور راه وجود داره. از خود کنترل پنل هاست میشه اینکارو کرد تا استفاده از htaccess یا حتی استفاده مستقیم از اسکریپت برنامه یا استفاده از افزونه(در صورتی که سایت وردپرسه) و هزار و یک راه دیگه. شما حتی میتونید از جاوا اسکریپت برای ریدایرکت استفاده کنید و بستگی به شرایط داره و تصمیمی که باید صحیح بگیرید تا بهترین راه رو انتخاب کنید

  6. سلام ممنونم از محتوای خوبتون
    میشه راهنمایی بفرمایید چطوری میشه کدی زد مثلا از دامنه tabfile.ir/files هر کسی صفحه ای رو باز کرد کلا منتقل بشه به سایت go2file.ir با همون صفحه ای که باز کرده یعنی اگر کسی صفحه tabfile.ir/files/1 رو باز کرد بره سایت جدید به صفحه go2file.ir/1 یعنی انتقال دامنه به همان ادرسی که هست به سایت جدید توی هر دوتا هم ssl فعال هستش
    اگر ممکنه راهنماییم کنید

    1. سلام
      با مود ریرایت میشه

      #Chabokgroup ModRewrite Redirect from old domain with subdirectory to new domain
      Options +FollowSymLinks
      RewriteEngine On
      RewriteCond %{REQUEST_URI} ^/files(.*)$
      RewriteRule ^(.*) http://go2file.ir/%1 [R=301,NC]
      

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

      #Chabokgroup Simple Redirect from old domain with subdirectory to new domain
      Redirect 301 /files http://go2file.ir/
      

      کد ها رو باید داخل فایل .htaccess سایت (tabfile.ir) قرار بدید. در سایت go2file.ir هم نیاز به هیچ کاری نیست.

  7. سلام
    این سوالم شاید به اینجا ربطی نداشته باشه ولی نمیدونم کجا مطرحش کنم.
    یه دامنه هست که ssl نداره و پارکش کردیم تو دایرکت ادمین روی دامنه ای که ssl داره. وقتی دامنه قدیم رو بازخوانی میکنیم که ریدایرکت بشه به دامنه جدید توی بروزر ارور Not secure میده.
    برای این مشکلل باید چه کار کرد؟
    با تشکر

    1. سلام
      نیاز هست که برای سایتی که پارک کردید هم گواهی ssl بگیرید در غیر اینصورت ریدایرکت با https صورت نمیگیره. البته میشه در وب سرور کانفیکی رو انجام داد که ریدایرکت با http صورت بگیره. ولی اگه خواسته باشید با https ریدایرکت صورت بگیره چون دامنه پارک شده ssl نداره قاعدتا با خطا در مرورگر مواجه خواهید شد.
      یک ssl رایگان لتس انکریپت برای دامنه پارک شده تهیه کنید.
      موفق باشید

  8. سلام وقتتون بخیر شادی
    صقحات داخلی سایت چطوزی ریدایرکت میشوند؟
    با این کد که گذاشتید
    #ir to com redirect
    RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$
    RewriteRule ^/?$ “http\:\/\/www\.newdomain\.com\/” [R=301,L]
    صفحات داخلی سایت ریدایرکت نمیشوند؟
    و بفرمایید که صفحات و صوت یا عکس های که ایندکس نشدن آیا اینها هم ریدایرکت میشود یا نه؟؟
    با سپاس

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

      نمونه:
      http://chabokgroup.ir/hata-url-not-found

      بعد متوجه نشدم شما چیکار به ایندکس شدن یا نشدن دارید! ریدایرکت سمت سرور خودتونه و ربطش به ایندکس رو نفهمیدم

  9. سلام.یک ساب دامین به پوشه ای از وب سایت ریدایرکت شده بصورت زیر
    forum.tehrantabligh.com ریدایرکت به :
    tehrantabligh/forum
    اگر بخواهیم فقط ساب دامین را حذف نماییم چگونه آدرسهایی در ساب دامین هستند را به پوشه جدید منتقل نماییم یعنی بعد از حذف ساب دامین آدرسها در جستجو گر خطای ۴۰۴ می دهند چگونه عمل نماییم تا آدرسها به :
    tehrantabligh.com/forum
    منتقل شوند.
    سپاس

    1. سلام
      در هاست اشتراکی اینکارو نمیتونید به راحتی و با htaccessموجود در روت انجام بدید
      کد زیرو تست کنید و اگه جواب داد که هیچ

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

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

        1. یک url مورد نظر رو ارسال کنید
          منظورتون از همه ادرس ها چیه؟ من الان یک url از سایتتون رو تست کردم و ریدایرکت صورت میگیره
          forum.tehrantabligh.com/chabok-test
          احتمالا تا الان مشکلتون حل شده و اگه فرض رو بگیریم که حل نشده کش مرورگر رو خالی کنید و تست کنید ریدایرکت صورت میگیره
          موفق باشید

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

          2. سلام احتمالا باید آدرسهای زیردامنه که با www و بدون www شروع می شوند همه به پوشه جدید منتقل شوند.

      1. سلام بازدید به شدت پایین آمد حدود۹۰% کد را برداشتم بازدیدها داره برمیگرده.راهکاری لازمه که مطابق با بهینه سازی باشه

        1. سلام
          ریدایرکت کردن کاری به بازدید سایت نداره. شما با ریدایرکت تغییر مسیر میدید به کاربر و بازدیدی رو قرار نیست از دست بدید
          البته لازمه تغییرات رو در سایت مپ سایت و در کنسول گوگل و …. نیز اعمال یا اصلاح کنید تا مشکلی پیش نیاد وگرنه خود ریدایرکت کردن مشکلی برای بازدید سایت به وجود نمیاره ولی اگه موارد دیگه مثل سایت مپ، تغیرات کنسول گوگل و …. رو در نظر نگیرید به شکل دیگه ای ممکنه سایتتون ضربه بخوره

  10. با سلام خدمت شما
    ممنون از آموزش خوبتون
    برای ریدایرکت چندین دامنه چه کدی باس بزارم ؟
    RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$
    RewriteCond %{HTTP_HOST} ^olddomain2\.ir$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.olddomain2\.ir$
    RewriteRule ^/?$ “http\:\/\/www\.newdomain\.com\/” [R=301,L]

    درسته ؟

    1. سلام
      خیر. صحیح نیست. چندین دامنه در سایت شما و در یک لوکیشن هاست نمیشوند که بتونید با این کد اونها رو ریدایرکت کنید. ابتدا باید dns همه دومین ها رو ست کنید به هاست مورد نظر و بعد هم باید همه دومین هایی که تمایل دارید به یک ادرس ریدایرکت بشن رو در هاستتون پارک کنید(از بخش Aliases در سی پنل اقدام کنید اگه کنترل پنل سی پنل هست)، در همون بخش که دومین رو پارک میکنید امکان ریدایرکت هم وجود داره. در دایرکت ادمین هم از بخش Domain Pointers میتونید اقدام کنید.

  11. سلام
    وقت بخیر
    من هاست دایرکت ادمین دارم
    این کد بعید میدونم برای دایرکت ادمین هم جواب بده در کل اچ تی اکسس دایرکت ادمین فرق داره
    RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$
    RewriteRule ^/?$ “http\:\/\/www\.newdomain\.com\/” [R=301,L]

    برای دایرکت ادمین کد انتقال چی بزارم ؟
    چون تو وب مستر تولز هم میخوام ادیت کنم انگار اجباری است این کد

    1. کنترل پنل مهم نیست چی باشه، باید ببینید وب سرور چی هست و چطور کانفیگ شده و اجازه تغیرات دارید یا خیر و مودهای اپاچی اجرا میشه یا خیر.
      اکثر هاستینگ ها اجازه اورراید برخی از کانفیگ های وب سرور رو به کاربرانشون از طریق htaacess داخل هاست میدن
      ریدایرکت ساده ترین و کمترین کاری هست که میتونید از طریق htaccess انجام بدید
      اگه امکانش رو ندارید با شرکت ارائه دهنده هاست تماس برقرار کنید و مشکلتون رو مطرح کنید نسبت به وب سرور و کانفیگی که انجام دادن به شما راهنمایی خواهند داد

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

    1. سلام
      برای ریدایرکت نیاز به افزونه نیست اگرچه برای سادگی و مدیریت راحتر میتونید از افزونه هم استفاده کنید
      دقیقا ببینید چه کاری قراره انجام بدید و بعد ببینید اون کار با افزونه بهتره انجام بشه یا ….
      کدی که در این مطلب گذاشتیم هم کل صفحات رو ریدایرکت میکنه. یعنی هرچی بعد از ادرس سایت قرار بگیره عینا به ادرس جدید منتقل میشه

  13. سلام. با آرزوی سلامتی برای شما…

    من یه دامنه جدید خریدم…. توی سی پنل پارک کردم و ریدایرکت کردم به دامنه اصلی سایتم!
    ولی تمام آدرس ها منتقل نمیشه.

    این مشکل اتفاق میوفته:
    new.com رو به old.com دایرکت کردم
    حالا وقتی new.com/123 رو می زنم old.com/123 باز نمیشه….. همون new.com/123 باز میشه

    1. اگه از کنترل پنل هاست انجام دادید ممکنه درست تنظیم نکردید. کنترل پنلتون چیه؟ با اینحال پارک کردن دومین به تنهایی باعث انتقال تمام ادرس ها با ساختار مورد نظرتون نمیشه. مخصوصا از پنل هاست های اشتراکی که هر کدومش رو هر کسی یه جوری کانفیگ کرده!!، یا به ادمین سرور بگید اینکارو انجام بده یا یک addon اضافه کنید و با htaccess ریدایرکت رو صورت بدید. اصولا ادرس های notfound ریدایرکت نمیشه ولی اکثر ورودی ها که به ادرس اصلی اشاره داره ریدایرکت میشه. تست کنید

  14. سلام من نیاز دارم علاوه بر ریدایرک به سایت جدید لینک هام رو ویرایش کنم. به عنوان مثال:
    https://olddomain.com/xxx-1
    ریدایرکت کنم به:
    https://newdomain.ir/cat1/cat2/yyy-1
    یعنی ساختار لینکم عوض میشه و فقط عدد آخر “۱” تغییر میکنه و از ۰ تا ۹ متغییر هست.
    در مثالی دیگه به این شکل میشه:
    https://olddomain.com/xxx-2
    ریدایرکت کنم به:
    https://newdomain.ir/cat1/cat2/yyy-2
    ممنون میشم راهنمایی کنید.

    1. سلام
      همه ساختار url ها یکسان هست؟ مخصوصا اون xxx که ادرس داره؟ اگه جواب مثبته ساده است در غیر اینصورت url ها باید گروه بندی بشن و برای هر گروه رول مورد نظر پیاده بشه
      اگه ادرس ها زیاد نیست میتونید برای هر ادرس ریدایرکت مجزا ایجاد کنید، اما اگه زیادن و هر url ساختار متفاوتی داره کار سخته
      بنده دقیق نمیدونم ادرس ها رو به چه شکل قراره تغیر بدید و اصلا دلیل تغییر ساختار چیه با اینحال یه نمونه لایو ارسال کنید + تغیر مورد نظر تا ببینم چیکار میشه کرد؟ همچنین تعداد url ها؟
      راه حل زیاده، در بدترین شرایط میشه با یک حلقه for هم همه ادرس ها رو از دیتابیس استخراج کرد و ریدایرکت مورد نظر رو برای هر ادرس ایجاد کرد و خروجی ذخیره بشه و به عنوان یه فایل htaccess در دومین قدیمی استفاده کنید

  15. با سلام
    بعضی از سایتها داخل گوگل هستند و به محض اینکه کلیک میکنم روشون ریدایرکت میشن به یک آدرس دیگه ولی ماه هاست تو گوگل هستند و دامنشون بخوبی ایندکس شده این روش ریدایرکت چگونه است که ماهم انجام بدیم و گوگل دامنه مارو با دامنه جدید که ریدایرکت کردیم روش عوض نکنه؟!

    1. سلام
      از ریدایرکت ۳۰۲ استفاده میشه. ریدایرکت ۳۰۱ جابجایی دائمی هست و بعد از مدتی url ها در موتورهای جستجو با url جدید جایگزین میشن ولی ریدایرکت ۳۰۲ جابجایی موقت هست و url های قدیمی جایگزین نمیشن.

  16. با سلام قبلا یک سایت داشتم با وردپرس به آدرس
    IranSuccess.Com/academy
    یعنی یک فولدر در ریشه اصلی
    چند سالی است که استفاده می کنم
    اکنون کل محتوا و تغییرات را روی دامنه جدید
    IranSuccess.Com بارگذاری شده
    الان برای انتقالش به سایت اصلی که طراحی شده
    هیچ کدام از این دستورات جواب نداد!
    چون هم دامنه هم پسوند یکی هست
    ممنون می شوم راهنمایی کنید.

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

      RewriteBase \
      RedirectMatch 301 ^/academy/$ /$1
      RedirectMatch 301 ^/academy/(.*)$ /$1
      
  17. این کدها را پس از کدهای پیش فرض استفاده
    شده است

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

    # END WordPress

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^iransuccess.com/academy$ [OR]
    RewriteCond %{HTTP_HOST} ^iransuccess.com$
    RewriteRule ^(.*)$https://iransuccess.com$1 [R=301,L]

    1. اگه وردپرس از یه فولدر به روت منتقل شده باید htaacess رو بروز کنید و الان اطلاعات htaccess پیش فرض وردپرستون غلط هست و به دایرکتوری قدیمی اشاره داره

      RewriteBase
      

      و همچنین

      RewriteRule
      

      در پیشفرض وردپرس اشتباست، الان شما وردپرس رو انتقال دادید به روت ولی همچنان به ساب دایرکتوری اشاره میشه(کدهای پیشفرضو نگاه کنید!)

      به پنل مدیریت وردپرس برید و ادرس دومین و سایت رو به ریشه تغییر بدید و بروزرسانی کنید، همچنین به بخش تنظیمات و پیوندهای یکتا مراجعه کنید و یکبار بروزرسانی رو بدون هیچ تغییری بزنید تا htaccess اپدیت بشه

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

      برای مشاهده تغییرات ایجاد شده هم باید کش و هیستوری مرورگر رو پاک کنید تا تغییرات رو ببینید، ریدایرکت های ۳۰۱ کش میشن و با تغییرات htaccess ممکنه اون مرورگر هیچ واکنش جدیدی نشون نده و همچنان ریدایرکت کش شده رو اعمال کنه

  18. من دیگه چند روزه ناامید شدم
    با مدیر سایت و مدیر هاست هم تماس گرفتم نتیجه حاصل نشد
    اگر ممکن هست کد هایی را که بتوانم در فایل قرار دهم و ذخیره کنم را قرار دهید بسیار سپاس گذارم
    با تشکر

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

  19. با سلام
    من میخواستم محتویات ساب فولدر را به ساب دامین جدید منتقل کنم.
    ممکنه راهنمایی کنید.
    در ضمن سایت ورد پرسی هستش.

    1. موردی نیست، داخل ساب فولدر مورد نظر یک htaccess. بسازید یا اگه هست اون رو با ویرایشگر باز کنید و کدها رو داخلش قرار بدید
      : ساده ترین کد

      RedirectMatch 301 ^/$ http://sub.domain.com/$1
      RedirectMatch 301 ^/(.*)$ http://sub.domain.com/$1
      
  20. سلام

    # Redirect all IP address (replace the 0.0.0.0 with the IP address numerals) to same https://domain.com
    RewriteCond %{HTTP_HOST} ^0\.0\.0\.0
    RewriteRule (.*) https://domian.com/$1 [R=301,L]

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

  21. سلام من دوتا دامنه دارم به آدرس های:
    mydomain.ir
    و
    mydomain.com
    دامنه .ir به هاست وصل هست و وبسایت بالاست. روس دامنه mydomain.com هیچ تنظیماتی انجام ندادم و فقط خریدم.
    میخوام هر فردی هر کدوم از دامنه ها رو داخل مرورگر وارد کرد آدرس mydomain.ir باز بشه.
    از همین ترفند ریدایرکت استفاده کنم؟ یا راهکار دیگه ای دارم؟

    1. سلام
      خیر. ابتدا نیم سرورهای دومین .com رو دقیقا با نیم سرورهایی که برای هاستتون به شما دادن و روی دومین .ir تنظیم کردید. دقیقا همونها رو برای دومین .com هم تنظیم کنید. سپس نسبت به کنترل پنل هاستتون که اگه دایرکت ادمین هست از بخش domain pointer یا اگه سی پنل هست از بخش Aliases انجام بدید. اگه نیاز به اطلاعات بیشتری دارید یا نحوه تنظیم کردن که بسیار ساده است و خودتون متوجه خواهید شد با این حال بنده در خدمتم و نیاز شد بگین توضیح بدم.

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

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