میزبانی وب

آموزش ریدایرکت آدرس های url سایت از طریق فایل htaccess. در هاست

آموزش ریدایرکت آدرس های سایت از طریق فایل htaccess. در هاست

به طور پیش فرض وب سایت شما با هر دو آدرس www.example.com و example.com در دسترس می باشد. از آنجا که گوگل محتوای کپی را جریمه می کند ، شما باید دسترسی به سایت خود را از یکی از دو آدرس فوق محدود کنید. البته ممکن است موتور های جستجو سایت شما را در هر دو آدرس ایندکس کرده باشند ولی بهتر است از هم اکنون اقدام کنید و سایت خود را از طریق فایل های داخل هاست تنظیم نمایید تا فقط از طریق www یا بدون www در دسترس باشد. فایل اصلی .htaccess شما در پوشه ی Public_Html در بخش File Manager هاست قرار دارد.

  • ریدایرکت به example.com یا از www.example.com:

بخش اول : چطور می توانم تمامی لینک های سایت را از www.example.com به example.com ریدایرکت کنم؟

ایجاد ریدایرکت 301 دائمی برای تمامی درخواست های http به منظور استفاده از هر دو آدرس www.example.com یا example.com:

  • مثال 1: ریدایرکت com به www.example.com:
RewriteEngine On
        RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
        RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

 

  • مثال 2: ریدایرکت example.com به example.com:
RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www\.example\.com$
        RewriteRule ^/?$ "http\:\/\/example\.com\/" [R=301,L]

 

توضیح .htaccess 301 redirect :

نگاهی به مثال 1 می اندازیم، انتقال example.com به www.example.com . خط اول به apache فرمان می دهد ماژول rewrite را Start کند. خط بعدی :

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

مشخص می کند که قانون بعدی تنها در صورتی اجرا شود که http host (بدین معنی که url دامنه های درخواستی مشخص شده با علامت !) به صورت www.example.com نباشد.

علامت $بدین معنی می باشد که host با www.example.com به پایان برسد. و نتیجه به این صورت خواهد بود که تمام صفحات از www.example.com با rewrite rule ادامه یابد . همراه با علامت ! در نتیجه هر هاستی که www.example.com نباشد به این دامنه ریدایرکت خواهد شد.

[NC] مشخص می کند که http host به حروف غیر حساس یا Case insensitive باشد. کاراکتر “.” در نظر گرفته نمی شود زیرا این کاراکتر ویژه به صورت معمول نقطه ، به معنی «کاراکتر ناشناخته» می باشد.

خط آخر نیز شرح عملیاتی می باشد که باید اجرا شود:

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

قسمت ^(.*)$ ترفند شگفت انگیز کوچکی می باشد. می توانید معنی علامت “.” را به یاد آورید؟ اگر نه، این کاراکتر می توانید به معنی «هرکاراکتر دیگری ، نامشخص» باشد (ولی فقط 1 کاراکتر) . بنابر این (.*) به این معنی می باشد که شما می توانید تعداد زیادی از کاراکتر ها را داشته باشید ، نه فقط یکی، این چیزیه که ما نیاز داریم زیرا ^(.*)$ شامل url های درخواستی بدون دامین می باشد. بخش بعدی http://www.example.com/$1 هدف rewrite url را توصیف می کند. این آخرین استفاده ی ما از نام دامنه می باشد که S1 شامل محتوای (.*) می باشد. بخش بعدی نیز مهم می باشد، زیرا ریدایرکت 301 برای ما به طور خودکار می باشد: [L,R=301]

L بدین معنی می باشد که آخرین (Last) قانون (Rule) در این اجرا می باشد. بعد از این rewrite، وب سرور نتیجه را باز خواهد گرداند. R=301 بدین معنی می باشد که وب سرور انتقال دائمی 301 را به مرورگر درخواست دهنده یا موتور جستجوی درخواست دهنده باز می گرداند.

  • ریدایرکت به com/index.php:

شما وب سایتی با نام example.com دارید و می خواهید تمام آدرس های دریافتی تان را به example.com/ به طور مثال example.com/index.php ریدایرکت کنید.

RewriteEngine On
        RewriteCond %{HTTP_HOST} ^example.com$
        RewriteRule ^$ http://example.com/index.php [L,R=301]

توضیح .htaccess 301 redirect :

کد بالا چه گونه عمل می کند؟ نگاهی به مثال 1 می اندازیم، انتقال example.com به www.example.com . خط اول به apache فرمان می دهد ماژول rewrite را Start کند. خط بعدی :

RewriteCond %{HTTP_HOST} !www.example.com$

مشخص می کند که قانون بعدی تنها در صورتی اجرا شود که http host (بدین معنی که url دامنه های درخواستی مشخص شده با علامت !) به صورت www.example.com نباشد.

علامت $بدین معنی می باشد که host با www.example.com به پایان برسد. و نتیجه به این صورت خواهد بود که تمام صفحات از example.com با rewrite rule ادامه یابد . همراه با علامت ! در نتیجه هر هاستی که www.example.com نباشد به این دامنه ریدایرکت خواهد شد.

[NC] مشخص می کند که http host به حروف غیر حساس یا Case insensitive باشد. کاراکتر “.” در نظر گرفته نمی شود زیرا این کاراکتر ویژه به صورت معمول نقطه ، به معنی «کاراکتر ناشناخته» می باشد.

خط آخر نیز شرح عملیاتی می باشد که باید اجرا شود:

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

قسمت ^(.*)$ ترفند شگفت انگیز کوچکی می باشد. می توانید معنی علامت “.” را به یاد آورید؟ اگر نه، این کاراکتر می توانید به معنی «هرکاراکتر دیگری ، نامشخص» باشد (ولی فقط 1 کاراکتر) . بنابر این (.*) به این معنی می باشد که شما می توانید تعداد زیادی از کاراکتر ها را داشته باشید ، نه فقط یکی، این چیزیه که ما نیاز داریم زیرا ^(.*)$ شامل url های درخواستی بدون دامین می باشد.

بخش بعدی http://www.example.com/$1 [L,R=301] هدف rewrite url را توصیف می کند. این آخرین استفاده ی ما از نام دامنه می باشد که S1 شامل محتوای (.*) می باشد.

بخش بعدی نیز مهم می باشد، زیرا ریدایرکت 301 برای ما به طور خودکار می باشد: [L,R=301]

L بدین معنی می باشد که آخرین (Last) قانون (Rule) در این اجرا می باشد. بعد از این rewrite، وب سرور نتیجه را باز خواهد گرداند. R=301 بدین معنی می باشد که وب سرور انتقال دائمی 301 را به مرورگر درخواست دهنده یا موتور جستجوی درخواست دهنده باز می گرداند.

  • ریدایرکت بازدید کنندگان به سایت جدید:

فرض کنید وب سایتی از قبل دارید که با دامنه ی oldexample.com در دسترس می باشد و وب سایت جدیدی نیز دارید که با دامنه ی newexample.com در دسترس می باشد. در مرحله ی اول باید محتوای وب سایت قبلی خود را به وب سایت جدید کپی کنید. اما آنچه بعد از آن باید انجام شود چیست؟ شما باید ریدایرکت دائمی انتقال 301 از دامنه ی قبلی به دامنه ی جدید انجام دهید که ساده و دارای مزایای زیر می باشد:

  • کاربران به صورت خودکار به دامنه ی جدید منتقل می شوند که دیگر نیازی نیست به آن ها اطلاع داده شود.
  • موتور های جستجو به صورت خودکار به دامنه ی جدید هدایت می شوند و تمامی اطلاعات مرتبط به دامنه ی جدید منتقل خواهد شد. اما این کار ممکن است مدت زمانی به طول انجامد.
  • Google’s PageRank â„¢ نیز به دامنه ی جدید منتقل خواهد شد. همچنین موقعیت صفحات سایر اطلاعات داخلی که در حال استفاده می باشند در نتایج موتور های جستجو تنظیم می گردد. مثل TrustRank .

ایجاد ریدایرکت 301 برای تمامی درخواست های http که روی دامنه ی قدیم می باشند:

  • مثال 1 – انتقال از com به www.newexample.com:
RewriteEngine On
        RewriteCond %{HTTP_HOST} !oldexample.com$ [NC]
        RewriteRule ^(.*)$ http://www.newexample.com/$1 [L,R=301]

کد فوق در مواقعی مفید می باشد که شما از www.newexample.com بعنوان دامنه ی جدید استفاده کنید (که قبلا توضیح داده شد امکان تعریف دامنه با www یا بدون www وجود دارد) – اگر بیاد نیارید، مثال 2 را مشاهده کنید.

  • مثال 2 – ریدایرکت از com به newexample.com :
RewriteEngine On
        RewriteBase /
        RewriteCond %{HTTP_HOST} !oldexample.com$ [NC]
        RewriteRule ^(.*)$ http://newexample.com/$1 [L,R=301]
  • نحوه افزودن علامت اسلش “/” :

برخی از موتور های جستجو کاراکتر اسلش را از آدرس هایی مثل دایرکتوری ها حذف می کنند. مثل موتور جستجوی yahoo. در هر حال این میتونه منجر به ایجاد مشکلات محتوای تکراری در اثر دسترسی به اطلاعات از طریق چندین URLشود. Apache در قسمت Apache server FAQ اطلاعات بیشتری در این خصوص ارائه کرده است.

اجازه دهید نگاهی به مثال زیر داشته باشیم:

Example.com/google/

در گوگل به صورت example.com/google ایندکس شده است – که نتیجه می تواند در دو آدرس با محتوای مشابه باشد.

راه حل ایجاد یک .htaccess rewrite rule می باشد که یک علامت اسلش به url ها اضافه می کند. مثال – ریدایرکت تمامی آدرس هایی که علامت / ندارند با آدرس هایی که با یک علامت / به اتمام می رسند:

RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_URI} !example.php
        RewriteCond %{REQUEST_URI} !(.*)/$
        RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301]

توضیح کد فوق در مورد افزودن علامت / با رول .htaccess rewrite :

خط اول به آپاچی فرمان می دهد که این کد برای rewrite engine از ماژول mod-rewrite آپاچی می باشد. خط دوم دایرکتوری فعلی را بعنوان صفحه ی root ست می کند . اما بخش جالب توجه:

RewriteCond %{REQUEST_FILENAME} !-f

اطمینان از اینکه فایل های موجود بدون علامت / باشند. شما نمی توانید همین کار را با دایرکتوری ها بکنید زیرا این کار می تواند عملیات rewrite را برای دایرکتوری های موجود حذف کند. در خط بعدی

RewriteCond %{REQUEST_URI} !example.php

این کد یک url نمونه را از این عمل مستثنی می کند که نباید rewrite شود. این فقط یک مثال است. اگر شما فایل یا آدرسی ندارید که نباید rewrite شود این خط را می توانید حذف کنید. و شرط:

RewriteCond %{REQUEST_URI} !(.*)/$

در آخر زمانیکه آدرسی شامل علامت / نباشد این دستور اجرا خواهد شد. هم اکنون نیاز داریم که آدرس های بدون / را به آدرس های با علامت / ریدایرکت کنیم:

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

ریدایرکت 301 همراه با علامت / در انتها برای تمامی url ها انجام می شود. شما باید بجای example.com نام دامنه ی خود را در تمامی مثال های فوق جایگزین کنید.

3.5/5 - (45 امتیاز)

علی یزدان پرست

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

‫۹۸ دیدگاه ها

  1. سلام چطور میتونم تمام یو ار ال های ساب دایرکتوری رو به روت ریدایرکت 301 کنم برای مثال
    mysite.ir/wiki/pid=2056 to mysite.ir/pid2056
    چطور میتونم با چند خط کد کل یو ار ال هامو رو ریدایرکت کنم ؟؟

      1. سلام خسته نباشید
        من برای صفحه اصلی چنین آدرسی در نظر گرفتم
        Web.com/home
        حالا میخواستم هر کسی این آدرس سرچ میکنه web.com انتقال پیدا کنه بهWeb.com/home
        باید چیکار کنم ؟ممنون میشم راهنماییم کنید

        1. سلام روزبخیر؛
          باید یک ریدایرکت انجام بدید.
          WEB.COM به روی WEB.COM/HOME ردایرکت بشه.
          این کار رو مطابق با آموزش فعلی یا افزونه هایی مثل QUICK REDIRECT میتونید انجام بدید.

  2. سلام
    بنده یک سایت دارم که وردپرسی نیست و دو ادرسه هست یعنی به شکل زیر :
    mysite.com
    mysite.com/index.php
    هر دو متحوا یکسانی ارائه میکنند اما دومی تصاویر به دلیل داشتن index.php خراب نشون میده و کلا دو ادرس با متحوا یکسان زیاد جالب نیست . به نظرتون چجوری ریدایرکت کنم ؟
    در ضمن بنده کد ریرایت گذاشتم که به نحوه ای حذف بشه اما مشکل اینجاست دیگه کاربر نمیتونه وارد پنل بشه و یا اخبار ببینیه برای همین باید ریدایرکت کنم . میشه راهنمایی کنید

  3. سلام خسته نباشید
    من از وردپرس روی کنترل پنل پلسک استفاده می کنم و چند تا دامین دارم.
    اما می خوا همه دامین ها به یکی ریدایرکت بشه و نه فقط به صفحه اول مثلا:
    آدرس: http://mydomain.ir/blog به آدرس http://mydomain.com/blog ریدایرکت بشه…
    از افزونه SEO Redirection Free استفاده کردم اما باید برای همه صفحات داخلی سایت ریدایرکت بسازم و صفحات داخلی من خیلی زیاد هستن.
    لطفا یه راهنمایی بفرمائید که من چیکار می تونم بکنم.
    ممنون

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

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

  5. سلام چه طور میتونم از یک دامنه با آدرس ثابت بازدیدکننده رو ریدایرکت کنم به یک دامنه با آدرس متغیر؟
    مثلا آدرس ثابت من user.com هستش سایت روی آدرس abc1.com پیاده شده که هرچندوقت یکبار ف*ی*ل*تر میشه
    بعد آدرس جدید سایت میشه abc2.com اما یه سری از سایتها هستند که داخل کانال تلگرامشون میان یه آدرس مثل
    user.com/p?362 میذارن که این آدرس بازدیدکننده رو میفرسته به آدرس خارج از فیلتر abc2.com/p?362
    خب خودتون هم میدونید که داخل کانال تلگرام ویرایش آدرس ها فقط تا 48ساعت امکانپذیره و بعد اون ویرایش نمیشه که بیایم آدرس جدید بذاریم! از طرفی اگه تعداد پستهای کانال هم زیاد باشه خیلی فرآیند وقت گیری میشه که بخایم دونه دونه Urlهارو ویرایش کنیم.
    حالا میشه راهنمایی کنید چیکار کنم؟

  6. سلام.ببخشید بنده قبلا سایتی داشتم که دارای ssl رایگان بود که مشکلات بزرگی روی سایت پیش اورد الان اون ssl رو غیر فعال کردم و حذف کردم.
    حالا میشه یک کد بدین به من که سایتم از چروتکل https به پروتوکل http ریدایرکت 301 بشه؟؟برای سئو میخام
    ممنون

  7. سلام
    من سایتم رو به تازگی به https منتقل کردم یک کد ریدایرکت 301 میخوام صفحات داخلیم رو که قبلا ایندکس شدن و با http باز میشن به https منتقل بشن. لطفا راهنماییم کنید.

    مدیریت محتوام وردپرسه

  8. من می خوام تمام لینکهای یک سایت ( http https نوشته برگه دسته و … ) همه رو به صفحه اصلی یک سایت دیگر ریدایرکت کنم نمیخوام وقتی از ادرس نوشته ای ریدایرکت شد به همان ادرس نوشته در سایت مقصد برود می خوام از ادرس نوشته به صفحه اصلی سایت مقصد ریدایرکت شود .
    مثال
    a.com/abcd =====>>>b.com
    تمام نوشته ها

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

  10. سلام تشکر از آموزشتون. ریدایرکت صفحه اصلی دامنه به https://www. به درستی کار میکنه. اما صفحات داخلی ریدایرکت نمیشن. مثلا میخوایم صفحات مثل https://domain.com/page-man هدایت بشن به https://www.domain.com/page-man . باید چه کدی قرار بدیم که صفحات داخلی هم مثل صفحه اصلی ریدایرکت بشن به https://www ؟ ممنون

  11. با سلام و عرض ادب
    من جدیدا به یک مشکل برخورد کردم که شاید راه حلش ساده باشه اما جدیدا خیلی اذیت کننده شده.
    توی گوگل وب مستر قسمت کرال هر روزه ارور هایی میبینم که برطرف کردنش رو بلد نیستم
    در انتهای آدرس یوآرال سایتم یه سری اعداد و حروف مشخص یعنی در اکثر آدرس ها همین اعداد هست اضافه شدن که نتیجه خطای 404 داده و وب مستر ارور گرفته مثلا
    sitename.ir/product/makan/b7d0858d41a6c29b873e4aba411e6d04
    در حالی که باید اینجوری باشه
    sitename.ir/product/makan/
    جالب اینه که خود وب مستر در قسمت لینک فرام همین آدرس سالم رو معرفی میکنه. من تمام قسمتها و یوآرال های آدرس سالم رو چک کردم هیچ موردی پیدا نکردم. البته خودم فکر میکنم ممکنه از طرف ورودی های مثل تویتر – فیسبوک- بینگ- یاهو و… باشه
    تمنا میکنم اگه براتون امکان داره راهنمایی بفرمایید چطور میتونم از شر این خطاها نجات پیدا کنم
    با تشکر
    لطفا جواب را به ایمیلم ارسال بفرمایید

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

  12. من یه هاست و دامین با نام مثلا http://www.abc.ir دارم که الانم داره کار میکنه

    حالا یک پوشه جدید تویه هاست ساختم به اسم body که از آدرس http://www.abc.ir/body قابل دستیابی هست

    حالا یک دامین با نام http://www.web.ir ثبت کردم میخوام این دامین ریدایرکت بشه به پوشه body

    البته این رو میخوام از طریق htaccess انجام بدم چون هاستم فقط یک دامین ساپورت میکنه

  13. سلام
    بنده سایتم رو از sample.ir به sample.com ریدایرکت کردم و به درستی انجام شد.
    ولی مشکل اینجاست ک هنوز هم sample.ir/blog هم اگر در آدرس تایپ شود بالا می آید و ریدایرکت به sample.com/b;og نمیشود.

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

      1. منظور دوست عزیزمون این هست که هیچ URL ی غیر از دامین اصلی ریدایرکت نمیشه.
        به عنوان مثال “sample.ir/test.html” به “sample.com/test.html” منتقل نمیشه.
        کدی وجود نداره که دامین اصلی رو روی تمام URL ها ریدایرکت کنه ؟
        یعنی :
        sample.ir ===> sample.com
        sample.ir/test.html ===> sample.com/test.html
        sample.ir/folder ===> sample.com/folder
        sample.ir/folder/test.html ===> sample.com/folder/test.html
        و …

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

  14. با سلام و خسته نباشی آقا دامنه من روی رزبلاگ هست و دامنه من در گوگل به دو دسته با www و بدون www ظاهر میشه من میخوام بدون www ظاهر شود و در زربلاگ هیچ راهی برای اضافه کردن دستورات بالا نیست اگر امکانش هست کدی یا دستوری فرمایید تا این مشکل من حل بشه با تشکر

    1. سلام، میتونید از کدهای ریدایرکت که با زبان جاوا اسکریپت و… قرار داره استفاده کنید. اما به صورت 301 نیستن و همچنان مشکل duplicate content رو خواهید داشت.

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

  16. سلام .. خیلی ممنون از آموزشتون .. ببخشید یه سوال داشتم میشه لطفا راهنمایی کنید
    من می خواهم چند تا دامنه قبلی ریدایرکت کنم به دامنه اصلی .. به این صورت که تمام مطالب دامنه قبلی فقط به صفحه اصلی ریدایرکت بشه( به آدرس معادل خودشون ریدایرکت نشه )

    از چه کدی باید استفاده کنم

    1. با سلام دوست عزیز
      به منظور ریدایرکت کامل یک دامنه به دامنه ای دیگر شما می توانید مطابق با دستورالعمل های قرار گرفته در آموزش ریدایرکت ۳۰۱ چیست و چه کاربردی دارد؟ و همچنین آموزش چگونه دامنه را ریدایرکت کنیم پیش بروید.
      موفق و پیروز باشید

  17. سلام و درود بر شما
    از مطالب بینظیرتون سپاسگزارم
    هاست من ssl رایگان داره و فعال هست و اینکه ادرس سایتم را در تظیمات وردپرس از
    آدرس اول به آدرس دوم تغییر دادم
    حالا دو نکته
    1-چطوری میتونم تمامی پروتکل های آدرس قبلی را
    به
    آدرس دوم ریدایرکت 301 کنم
    2-لطفا کدی به من بدهید که در آن واد هم http را به https و هم www را به بدون www ریدایرکت 301 کنه

    بایت آموزش ها و سایت بسیار عالیتون سپاسگزارم

  18. سلام، آدرس بار سایت من بدین صورت است mysite/index.php?page=contactus من چطور میتوانیم index.php?page= را حذف کنم

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

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

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

    1. سلام وقت بخیر؛
      تاثیر خاصی نداره. این کار به این دلیل انجام میشه که چون زبان فارسی به صورت راستچین هست موقع درج لینک ها، اسلش آخر به ابتدای آدرس میاد و بعضا مشکل ساز میشه. اما بدون اسلش فرم منظم تری داره.

  21. سلام ، من از اسکریپت درگاه واسط استفاده میکنم
    برای مثال برای دامنه test.ir درگاه دارم ولی برای دامنه test1.ir درگاه نگرفتم
    حالا میخوام برای دامنه ای که درگاه نگرفتم دامنه test.ir رو ریدایرکت کنم روی test1.ir امکانش هست !؟

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

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

    1. با سلام دوست عزیز
      شما می توانید به منظور ریدایرکت 301 کد # This allows you to redirect your entire website to any other domain
      Redirect 301 / http://example.com/ را در فایل htaccess وارد نمایید.
      موفق و پیروز باشید

  23. سلام علیکم آیا امکانش هست بدون ساختن پوشه در روت ، با فایل httacses آدرس زیر رو به ادرسدومی ریدارکت کرد ؟
    google.com/abcd to yahoo.com
    یعنی بدون اینکه داخل روت google.com فولدر abcd ساخته بشه مستقیما با زدن این آدرس به یاهو منتقل شیم؟؟؟

    1. با سلام دوست عزیز
      در صورت تمایل به ریدایرکت آدرس google.com/abcd به آدرس دیگر شما با دو حالت رو به رو می شوید. در حالت اول فولدر abcd وجود دارد که شما می توانید اطلاعات موجود در فولدر نامبرده را به آدرس دوم ریدایرکت نمایید. در حالت دوم فولدر abcd به طور کلی ساخته نشده است که آنگاه امکان ریدایرکت فایلی که وجود خارجی ندارد برای شما میسر نمی باشد.
      موفق و پیروز باشید

  24. سلام خسته نباشید
    وقتی آدرس domain1/index.html رو سرچ میکنم به همین نشانی index.html نمایش داده میشه
    چیکار کنم وقتی domain1/index.html نوشته میشه فقط آدرس اصلی سایت یعنی domain1 نمایش بده و یا ارور بده
    یعنی اگه کسی domain1/index.html رو وارد کرد domain1 نمایش داده بشه و index.html حذف بشه
    ممنون میشم جوابش رو بهم بگین

    1. با سلام دوست عزیز
      شما می توانید از ریدایرکت دامنه اول به دامنه دوم استفاده نمایید. در همین راستا شما باید از کد زیر استفاده نمایید:
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
      RewriteCond %{HTTP_HOST} ^www.example.com [NC]
      RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]

      در کد فوق به جای example.com آدرس اول و به جای http://www.example.com آدرس دوم را قرار دهید.
      موفق و پیروز باشید

  25. سلام
    تشکر بابت این توضیحات خوب
    سوال دارم
    سایتی دارم که مجموعه ای با 120 مطلب داره و در سایت منویی هم دارم
    حالا میخوام اون 120 مطلب رو بزارم داخل مجموعه ی دیگه و اگر کسی از گوگل بابت هر کدوم از اون 120 مطلب اومد به سایت بره به ادرس جدید.
    مثال
    ادرس فعلی مطلب
    ***
    حالا میخوام هر کس اینو وارد شد بره ادرس زیر
    ***
    در واقع فقط یک اسم مستعار تغییر میکنه.
    چطور کاری کنم که در اچ تی اکسس هر چی با اون مستعار *** وارد شد بره جایگزین بشه به ***
    متشکرم

    1. با سلام دوست عزیز
      به منظور ریدایرکت کامل یک آدرس به آدرسی دیگر شما باید از کد زیر استفاده نمایید:
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
      RewriteCond %{HTTP_HOST} ^www.example.com [NC]
      RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]

      موفق و پیروز باشید

  26. سلام من ریدایرکت دامنه سایت رو از www به بدون www داخل فایل htaccess تغییر دادم ، و وقتی دامنه سایت رو با www مینویسم به بدون www ریدایرکت میشه . ولی اگه یک صفحه دیگه با www داشته باشم ریدایرکت نمیشه . مثلا :

    1. با سلام دوست عزیز
      به طور معمول بعد از ریدایرکت کل دامنه، دامنه به همراه تمامی لینک های داخلی ریدایرکت می شود. لطفا تغییراتی که اعمال کرده اید را دوباره بررسی نمایید.
      موفق و پیروز باشید

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

    1. سلام روزبخیر؛
      اگر منظورتون این هستش که دامنه فعلی به دامنه جدید ریدایرکت بشه می تونید از کد ریدایرکت بخش “ریدایرکت دامنه قدیم به دامنه جدید” در لینک زیر استفاده کنید.
      چگونه دامنه را ریدایرکت کنیم
      انواع ریدایرکت ها در این مقاله به همراه کد تشریح شده بر اساس نیازتون باید کد مربوطه رو در فایل htaccess. قرار بدید. اما اگر تمایل دارید آدرس های فعلی به ادرس متناظر از دامنه جدید ریدایرکت بشه بخش “ریدایرکت دامنه با تمام لینک های داخلی آن” را مطالعه کنید.

  28. سلام و عرض ادب از آموزش خوبی که دادید تشکر می کنم مخصوصا آخرین گزینه که مربوط می شد به مشکل سایت من (افزودن علامت / در اخر ادرس ) که خوشبختانه با آموزش شما و دادن کد مشکلم حل شد
    فقط الان این سوال پیش امده ممنون می شم پاسخ بدید
    1- سایت من که حدود 4 سالی هست که با / و بدون / هردوتا باز می شدند و تا الان متوجه این نشده بودم به نظرتون تمام مطالبم تکراری محسوب می شدند اگه تکراری بودند من با این کد الان مشکل را حل کردم الان باید کارخاصی انجام بدم ؟

    1. سلام و احترام؛
      خوشحالیم مقاله براتون مفید واقع شده. این مساله ای که شما اشاره فرمودید فقط در برخی موتورهای جستجو صدق میکنه اما با rewrite rule که در فایل htaccess. درج کردید مورد به صورت کامل رفع میشه.

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

    1. با سلام دوست عزیز
      شما می توانید به راحتی وب سایت خود را به هاست جدید و سیستم مدیریت محتوا وردپرس ریدایرکت کنید و در صورتی که لینک شکسته و… نداشته باشید نیز این انتقال تاثیری روی رتبه سئو سایت شما نخواهد داشت. و اینکه در نهایت منظور شما از ریدایرکت صفحه کلمه کلیدی مورد نظر چیست؟
      موفق و پیروز باشید

  30. سلام، خسته نباشید.
    من به تازکی یه اسکریپت گرفتم ( به نام : اسکریپت اشتراک گذاری ویدئو مشابه آپارات ) از سایت ***،‌ بعد از نصب گفته که : دامین را بدون www وارد کنید و سایت رو از طریق htaccess بدون www ریدایرکت کنید !!
    اما من چون مبتدی هستم هر کاری کردم نفهمیدم که باید چیکار کنم!
    ممنون میشم در این رابطه راهنماییم کنید.

    1. با سلام دوست عزیز
      به منظور ریدایرکت دامنه از حالت www به حالت بدون www می توانید از کد زیر در فایل htaccess استفاده نمایید:
      RewriteEngine On
      RewriteCond %{HTTP_HOST} www.yourwebsitehere.com
      RewriteRule (.*) http://yourwebsitehere.com/$1 [R=301,L]

      موفق و پیروز باشید

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

  32. سلام به اعضای میزبان فا
    ما یه اسکریپتی نوشتیم که وقتی بدون www وارد سایت میشیم سایت درست لود نمیشه مثلا فونت درست لود نمیشه یا به درگاه پرداخت وارد نمیشه!
    راهی هست این مشکل را حل کرد و بدون www هم درست کار کنه؟
    لطفا اگر اطلاعی در این زمینه دارید راهنمایی کنید

  33. سلام خسته نباشید

    میخواستم ادرس .pw رو به ادرس xyz ریدایرکت کنم و https برای هر دو سایت فعال بود الان برای ریدایرکت از چ کدی استفادع کنم؟

    1. سلام روزبخیر؛
      ریدایرکت لینک خاص: ریدایرکت لینک مدنظر به لینک دیگر از همین دامنه (ریدایرکت individual): در برخی مواقع نیاز است فایل، صفحه یا لینک خاصی از دامنه به یک آدرس دیگر در همین دامنه ریدایرکت شود. به عنوان مثال یک صفحه به نام page1 به page2 ریدایرکت شود.
      در چنین شرایطی برای ریدایرکت قطعه کد زیر را در فایل htaccess. درج کنید.

      Redirect 301 /page1 http://www.domain.com/page2
      

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

  34. سلام :
    آدرس مطالب سایت من به این صورت هست /blog/1933-07-01/paint حالا من میخوام از طریق پیوند های یکتا وردپرس اون تاریخ رو بردارم و بشه نام نوشته که آدرس بشه به این صورت blog/paint مشکل اینجاست من چه جوری باید همه این لینک هار به لینک جدید ریدایرکت کنم؟؟

    1. سلام روزبخیر؛
      تعداد لینک هایی که تصمیم دارید تغییر بدید زیاد هستند؟
      اول ساختار پیوندهای یکتا رو تصحیح کنید.
      بررسی کنید آیا ریدایرکت این تعداد از لینک ارزششو داره یا خیر
      اگر تصمیم قطعی به ریدایرکت داشتید می تونید از افزونه quick redirects استفاده کنید.

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

        1. سلام روزبخیر؛
          با تغییر آدرس دهیتون متفاوت میشه. برخی لینک ها ممکنه به صورت 404 دربیان که در اینصورت باید ریدایرکت بشن.

  35. سلام
    من اخیرا تغییر cms اختصاسی به وردپزس دادم.
    متاسفانه متوجه شدم گوگل تو وبمستر هر محتوا رو دوتا میبینه. یکی با / آخر url و یکی بدون اسلش .
    خواستم ریدایرکت کنم ولی قبول نمیکنه یوست و دایرکت ادمین خطا میزنه که اینها یکی هستن.
    لطفا راهنمایی کنید.

  36. سلام اگه بخوام لینک اول رو به لینک دوم ریدایرکت کنم میشه:
    exapmle1.com/1234
    example2.com/xxxxxxxx1234yyyyy

  37. سلام روز بخیر
    من مبخوام وقتی کاربر یک لینک اشتباه در آدرس سایت من وارد میکنه برای مثال :
    web.com/lkjlkj
    چون این صفحه در سایتم وجود نداره، ریدایرکت بشه به صفحه اول یعنی : web.com . چطور میشه این کار رو انجام داد؟ هر آدرس اشتباهی رو به صفحه اول ریدایرکت کرد.

  38. با سلام و وقت بخیر. من مترجم محتوای فارسی هستم و برای پشتیبانی رنک مث یک مقاله را در دست تدوین دارم. بسیاری از کاربران از من در خصوص ریدایرکت دو نام فارسی میپرسند و من بدبنال روشی بچز افزونه وردپرسی هستم. دو نوشته به شرح زیر داریم و می خوام نوشته (شماره_یک) به نوشته (شماره_دو)ریدایرکت 301 بشه. این دو پست به چه شکل در htaccess ریدایرکت می شوند >

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

    1. با سلام دوست عزیز
      شما می توانید برای ریدایرکت از طریق فایل htaccess از کد زیر استفاده نمایید:
      Redirect 301 /page1 http://www.domain.com/page2
      به جای عبارت page 1 شما باید آدرس صفحه اول خود را بدون نام دامنه و به جای عبارت http://www.domain.com/page2 نیز آدرس صفحه دوم که می خواهید ریدایرکت به آن صورت گیرد را به صورت کامل وارد نمایید. در نظر داشته باشید که فواصل و اسلش های قرار گرفته در کد را عینا رعایت نمایید.
      موفق و پیروز باشید

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

  40. با سلام مجدد. بله این را می دانم. من منظورم نام فارسی است. آیا می توان نام فارسی نوشت؟ یک پست که به فارسی نام گذاری شده هم می تواند در این فایل ریدایرکت شود؟ مثال :

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

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

    با سپاس

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

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

  41. با سلام و عرض ادب
    من در حال حاضر یک سایت با html دارم ،حالا می خوام همون سایت رو با وردپرس تو همون دامنه داشته باشم . سوالم اینکه باید تمام صفحات html رو دونه دونه به صفحه مشابه آن در وردپرس ریدایرکت کنم و اینکه بعد از این کار میتونم اون صفحات رو از روی هاست delet کنم ،منظورم این که مشکلی برای سئو سایتم پیش نمی یاد؟

  42. با سلام و احترام
    من میخواهم تمام قسمت آدرس های سایتم که بعد از نام دامنه قرار دارند در غالب یک پارامتر به فایلی به نام test.php ارسال شوند تا این فایل تصمیم گیری کند که کدام یک از صفحات سایت را باز کند. یعنی اینطوری باشه test.php?url=$1
    من قبلا اینکارو کردم برای سایت هایی که بدون https هستند درست کار میکنه و مشکلی نیست اما با گرفتن ssl و ریدایرکت ها http به https و www به بدون www مشکل پیش میاد. ممنون میشم راهنماییم کنید

  43. سلام خدمت دوستان میزبان فا
    من تغییر url دادم و تو هاست درست کار میکنه ولی تو لوکال با زمپ نه ماژول rewrite فعال هست و گزینه allowoverride none رو به allowoverride all تغییر دادم ولی بازم کار نمیکنه؟
    تو سایت soft40.b6b.ir
    اگه دکمه بیشتر رو بزنید درست کار میکنه
    خیلی جاها مطرح کردم سوالمو ولی جواب نگرفتم
    یه راهنمایی جامع لطفا چیکار کنم تغییر url تو زمپ کار کنه از mampp هم استفاده کردم جواب نداد ممنون از سایت خودتون

  44. سلام بسیار از url های سایت من به صورت خودکار به شکل زیر در می آیند و به صفحات 404 تبدیل میشوند
    domain/URL/domain.com
    دلیل چی میتونه باشه و چطور از این کار جلوگیری کنم؟
    ممنون از شما

    1. سلام و احترام؛
      بله امکان ریدایرک لینکی از دامنه اصلی به ساب دامین وجود داره.
      قطعه کد زیر رو بررسی کنید. (البته قبل از هر اقدامی از سایتتون فول بکاپ بگیرید.)
      Options -Indexes +FollowSymLinks
      RewriteEngine On
      RewriteBase /
      RewriteCond %{HTTP_HOST} ^domain.com [NC]
      RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
      RedirectMatch 301 ^/sub/(.*)$ http://sub.domain.com/$1

  45. سلام
    من هر کد ریدایرکتی رو امتحان کردم ولی نتونستم کل لینک های سایت رو به دامنه جدید منتقل کنم مثل همون کاری که Wild Card Redirect انجام میده.
    ناگفته نماند که Wild Card Redirect هم کار نمیکنه!
    ممنون میشم دراین مورد کمکم کنید

  46. این کد رو هم تست کردم نشد

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

    1. سلام و احترام دوست عزیز؛
      تمامی کدهای ریدایرکت در فایل .htaccess درج می شوند.

  47. سلام
    من یک سایت وردپرسی دارم
    الان چند روز هست که تمام آدرس های سایتم را میزنم آخر تمام لینک ها و آدرس ها /?v=a0fc2544b055 میاد مثلا تایت میکنم وقتی سایت لود میشه میزنه /?v=a0fc2544b055
    یا مثلا در تماس با ما میزنیم آدرس رو باز به این شکل میزنه contact-us/?v=a0fc2544b055
    این تیکه نوشته نمیدونم چیکار کنم /?v=a0fc2544b055
    ممنون میشم اگر کسی میدونه راهنماییم کنه

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

  48. در سایت جوملا یک کتگوری (/http://www.example.com/old)که شامل تعدادی زیادی مطلب هست رو میخوام داخل فایل htaccess به یک کتگوری جدید (/http://www.example.com/new) ریدایرکت کنم، به طوری که مقالاتش به هم یو آر ال های جدید ریداریکت بشه ممنون میشم راهنمایی کنید.

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

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

  50. سلام و درود
    کدی رو برای ریدایرکت یک ساب فولدر به یک ساب فولدر دیگه میخوام بزنم.
    مثلاً تمام urlهای …/coins/ که فولدرهای زیر مجموعه اش میشن

    ………./coins/tron
    ………./coins/eth
    و….
    ریدایرکت بشه کلا به یک ساب فولدر مثل …./tag/coin
    ممنون میشم راهنماییم کنید.

  51. سلام، من سایتی ساخته ام که گوگل کنسول اون رو ایندکس نمیکنه و مینویسه page with redirect خواهشا راهنمایی کنید خیلی گیرم. ممنون

  52. درود بر شما
    برای تغییر پیوندهای یکتای سایتم از /%postname%/ به /%postname%-1/ نیاز به کد ریدایرکت 301 دارم و نمیخوام از افزونه استفاده کنم
    از چه کدی باید استفاده کنم؟

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

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