نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • سیستم عامل
  • تغییر مسیر Htaccess 301 از صفحه‌ای که وجود ندارد. تغییر مسیر درخواست ها بدون www به c-www

تغییر مسیر Htaccess 301 از صفحه‌ای که وجود ندارد. تغییر مسیر درخواست ها بدون www به c-www

سلام به همه!

موضوع گذشته این است. من به طور خلاصه در مورد مهمترین نکات آن صحبت کردم و چندین عملکرد را که این فایل انجام می دهد ذکر کردم. یکی از این توابع، هدایت خودکار بازدیدکننده از یک URL به URL دیگر است که به آن تغییر مسیر 301 نیز می گویند.

ریدایرکت 301 چیست؟

همانطور که قبلاً گفتم، ریدایرکت 301 یک تغییر مسیر خودکار است که به شما امکان می دهد بازدید کننده یا ربات جستجو را از یک صفحه یک سایت به صفحه دیگر یا از یک دامنه به دامنه دیگر هدایت کنید. با همه اینها، تمام وزن های به اصطلاح (وزن صفحه) به آدرس اینترنتی که تغییر مسیر به آن انجام می شود منتقل می شود.

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

مثال. قبلاً وبلاگ Context-UP در آدرس اینترنتی http://blog.site قرار داشت (در بین شما احتمالاً کسانی هستند که این بارها را دیده اند) ، سپس می خواستم سایت در دامنه سطح دوم باشد ، یعنی . برای برآورده شدن خواسته ام، مجبور شدم تمام محتویات وبلاگ را به پوشه (پوشه) دیگری در هاستینگ منتقل کنم، سپس در پنل، دامنه جدیدی را مشخص کنم تا ربات ها شروع به فهرست کردن آدرس وبلاگ جدید کنند. فقط بعد از این همه، من یک تغییر مسیر به ... راه اندازی کردم.

اکنون امیدوارم متوجه شده باشید که تغییر مسیر 301 چیست.

چگونه ریدایرکت 301 را از طریق htaccess تنظیم کنیم؟

راه های مختلفی برای پیاده سازی تغییر مسیر وجود دارد، اما ایمن ترین و ساده ترین آن تغییر مسیر 301 در htaccess.

بنابراین، برای اینکه فایل و تغییر مسیر به ترتیب کار کنند، باید به اصطلاح ماژول ها را فعال کنید. برای هدف خود می توانیم از دو مورد استفاده کنیم:

  • Mod_rewrite;
  • Mod_alias.
  • اولین گزینه ارجح ترین است، زیرا هنگام استفاده از آن نیازی به ثبت هر صفحه URL به طور جداگانه ندارید، بلکه فقط از دستورات خاصی استفاده کنید (آنها در زیر هستند) که به لطف آنها تغییر مسیر رخ می دهد.

    ما، یعنی مشتریان ساده ارائه دهندگان هاست، فقط می توانیم این ماژول را برای فهرست وب سایت خود از طریق فایل htaccess فعال کنیم. این کار به سادگی انجام می شود، فقط خط را در فایل ذکر شده قبلی وارد کنید:

    بازنویسی موتور روشن است

    این ماژول فقط در صورتی کار می کند که به وب سرور آپاچی متصل باشد. بنابراین، این نکته را با مدیران بررسی کنید.

    به عنوان بخشی از این درس، من می‌خواهم به موقعیت‌هایی که در آن‌ها باید یک تغییر مسیر 301 راه‌اندازی کنیم، نگاه کنم:

  • اگر از یک دامنه به دامنه دیگر حرکت می کنید.
  • اگر سایت شما با www و بدون www قابل دسترسی است.
  • از پروتکل http تا https؛
  • از یک صفحه به صفحه دیگر؛
  • از فایل فهرست index.html/php به صفحه اصلی.
  • به ترتیب بریم

    انتقال به دامنه دیگر

    اگر تصمیم دارید به دامنه دیگری منتقل شوید، باید دستور زیر را در فایل پیکربندی اضافی .htaccess بنویسید:

    RewriteEngine در RewriteCond %(HTTP_HOST) old-domen.ru RewriteRule (.*) http: //new-domen.ru/$1

    تغییر مسیر 301 از www به URL غیر www و بالعکس

    یک ربات جستجوگر چیز پیچیده ای است، بنابراین هنگام کار با یک وب سایت، یک وب مستر باید بسیاری از تفاوت های ظریف را در نظر بگیرد. به عنوان مثال، برای یک موتور جستجو، سایتی که در آدرس www (www.site.ru) و بدون tridouble (site.ru) قابل دسترسی است، به دو منبع وب کاملاً یکسان تقسیم می شود.

    به همین دلیل، هر وب سایتی باید فقط در یک آدرس قابل دسترسی باشد: با www یا بدون. در غیر این صورت، موقعیت سایت رشد نخواهد کرد.

    تغییر مسیر از www.site.ru به site.ru:

    تغییر مسیر از site.ru به www.site.ru:

    RewriteEngine در RewriteCond %(HTTP_HOST) ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1

    از پروتکل http تا https

    از این کد برای تغییر مسیر به پروتکل امن https استفاده کنید:

    RewriteCond %(HTTPS) خاموش RewriteRule ^(.*)$ https: //%(HTTP_HOST)%(REQUEST_URI)

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

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

    تغییر مسیر 301 /page1..html

    در یک زمان، من نیاز به تغییر مسیر 301 از یک صفحه ایجاد شده توسط CMS وردپرس به صفحه اصلی داشتم، زیرا صفحه اول همان چیزی را که در صفحه دوم بود کپی می کرد.

    از index.html یا index.php تا ریشه (اسلش)

    در ابتدا، تقریباً در همه سایت ها، صفحه اصلی در دو آدرس موجود است: http://site.ru/index.php و http://site.ru/. این درست نیست، زیرا باعث تکرار محتوای صفحه اصلی می شود و موتورهای جستجو شروع به بدبین کردن سایت در نتایج جستجو می کنند (عمداً سایت را پایین می آورند).

    برای جلوگیری از این اتفاق باید موارد زیر را بنویسید:

    اگر می خواهید از index.html تغییر مسیر دهید

    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http: //site/

    اگر می خواهید با index.php تغییر مسیر دهید

    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http: //site/

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

    خوب دوستان عزیز همین!

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

    به زودی میبینمت!

    مقاله قبلی
    مقاله بعدی

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

    مقدمه توضیحی: من متخصص بهینه سازی موتورهای جستجو (SEO) یا برنامه نویس نیستم. همه چیزهایی که در اینجا توضیح داده شده تجربه و ملاحظات بصری یک کاربر کم و بیش پیشرفته است.

    همچنین: به طور جداگانه، مایلم از کمک های مکرر او در بازسازی سایت تشکر کنم :)

    بنابراین، به موضوع

    تغییر مسیر 301: نحوه تغییر مسیر از یک صفحه به صفحه دیگر

    اجرای کار ساده است و من آن را می دانستم، اگرچه در بیش از 3 سال از وجود سایت، 301 تغییر مسیر فقط یک بار استفاده شده است، نه توسط من. اما روز گذشته عمداً چندین صفحه را از سایت حذف کردم و نیاز داشتم که Redirect 301 را روی پیوندهای قدیمی (حذف شده) قرار دهم.

    ریدایرکت 301 چیست؟

    "Redirect" در زبان ما "redirection"، "redirection" است. یعنی این کدی است که با آن ارتباط برقرار می کنیم که به طور عمدی و دائمی آدرس (URL) صفحه را از مکان قبلی به مکان جدید هدایت می کنیم. "برای همیشه" را می توان با حذف فوروارد لغو کرد.

    301 - تغییر مسیر دائمی

    302، 303 و 307 - تغییر مسیر موقت

    این برای چیست؟

    یک مثال ساده: شما صفحه ای با محتوا در سایت خود داشتید، آن را حذف کردید، دیگر وجود ندارد، به این معنی است که شخصی که به این صفحه (مثلاً از Google یا Yandex) وارد می شود "خطای 404" یا "صفحه یافت نشد." یک گزینه بد این است که شخص بلافاصله سایت شما را می بندد، یا تصمیم می گیرد از طریق "جستجو" در سایت شما آنچه را که برای آن آمده است، حتی اگر وجود داشته باشد، بیابد.

    در هر صورت، دیدن "خطای 404" جالب نیست، و موتورهای جستجو حضور گسترده چنین صفحاتی را در یک سایت به روشی غیرعادی مشاهده می کنند - آنها می توانند سایت شما را در نتایج جستجو پایین بیاورند.


    اسکرین شاتاز ویدئو ، که در آن مت کاتس، رهبر تیم هرزنامه وب گوگل به این سوال پاسخ می دهد که "در 301 تغییر مسیر چقدر رتبه صفحه از بین می رود؟"

    اما شما نمی توانید بدون حذف صفحات در سایت انجام دهید، این اتفاق می افتد، به دلایل مختلف و به دلایل مختلف آنها باید روی 301 تنظیم شوند.

    در چه مواردی وب سایت ها از ریدایرکت 301 استفاده می کنند؟

    1. برای تغییر مسیر یک صفحه وب سایت (لینک) به دیگری
    2. لینک های وب سایت با www را به لینک های بدون www یا بالعکس هدایت کنید
    3. تغییر مسیر انبوه لینک ها را در صورت تغییر در دامنه یا موتور سایت انجام دهید

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

    ایجاد تغییر مسیر 301

    این کار در فایل htaccess. که در پوشه ریشه سایت قرار دارد انجام می شود. آن را باز کنید و تغییر مسیر ما را در آنجا وارد کنید. بلافاصله بعدش تجویز کردم RewriteBase /

    تغییرات را در .htaccess ذخیره کنید. همه. بررسی کنید که آیا پیوند قدیمی (کار نمی کند) به پیوند جدید هدایت می شود یا خیر.

    این گزینه برای من کار نکرد. نتیجه: تغییر مسیر رخ نداد و پارامتر ?q= به آدرس پیوند اضافه شد. در اینجا گزینه ای است که برای من کار کرد. برای روشن شدن: برای یک سایت دروپال پیاده سازی شده است

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

    ریدایرکت 301 چیست و کجا می تواند مفید باشد؟

    این یک نوع تغییر مسیر خودکار از یک صفحه به صفحه دیگر است و با این تغییر مسیر همه چیز منتقل می شود: وزن صفحه، TCI، PR، وزن جرم لینک ورودی و غیره. یعنی صفحه قدیمی به صفحه جدید چسبانده شده است. کاربری که در صفحه قدیمی قرار می گیرد به طور خودکار به صفحه جدید منتقل می شود.

    جایی که تغییر مسیر 301 می تواند مفید باشد:

    • شما تصمیم گرفته اید به یک دامنه جدید منتقل شوید. در این مورد، با استفاده از این نوع تغییر مسیر، می توان این کار را بدون دردسرترین انجام داد.
    • آیا وب سایتی با موتورهای مختلف (مثلا جوملا) داشتید. صفحات دارای آدرس site.ru/?id=1245 بودند. در وردپرس، همان صفحه به این صورت است: site.ru/rubrika/post.html. و برای اینکه کارایی صفحات قدیمی را از دست ندهید، باید یک تغییر مسیر 301 به صفحات جدید انجام دهید.
    • وب سایت شما در 2 آدرس قابل دسترسی است، به عنوان مثال با www و بدون www. در این مورد، شما همچنین باید یک تغییر مسیر 301 را ثبت کنید.
    • محتوای صفحه قدیمی باید به صفحه جدید منتقل شود. یا مثلاً 3 مقاله کوچک باید در یک مقاله بزرگ ترکیب شوند. در چنین مواردی نیز بهتر است آن را به 1 از 3 URL منتقل کنید و برای دو آدرس باقی مانده یک تغییر مسیر 301 قرار دهید.
    نحوه ایجاد ریدایرکت 301 در htaccess

    من ترجیح می دهم با استفاده از یک فایل htaccess ریدایرکت های 301 را انجام دهم. علاوه بر این، نه تنها در سایت های وردپرس وجود دارد، بنابراین این روش تغییر مسیر جهانی است. فایل .htaccess در ریشه سایت قرار دارد:

    این فایل با استفاده از ویرایشگر متن ویرایش می شود، بهتر است از .

    توجه! برای مبتدیان: اگر کاملاً از اقدامات خود مطمئن نیستید، قبل از ایجاد تغییرات در فایل htaccess، حتما یک نسخه پشتیبان از آن تهیه کنید.

    از WWW تا بدون WWW (و بالعکس)

    سایت باید فقط از یک طریق قابل دسترسی باشد: یا با WWW یا بدون WWW. اگر سایت به دو صورت "بخشش" شود اشتباه است. شما فقط باید یکی را ترک کنید.

    اگر سایت جوان است بهتر است بدون WWW انتخاب کنید اما اگر قدیمی است بهتر است گزینه ای را انتخاب کنید که ایندکس شده است. این اتفاق می افتد که در Yandex با WWW ایندکس می شود، اما در گوگل بدون WWW، در این مورد، گزینه ای را که در موتور جستجوی با بالاترین اولویت برای شما ظاهر شد، انتخاب کنید.

    بدانید که www.site.ru و site.ru 2 سایت مختلف برای موتورهای جستجو هستند، بنابراین فقط 1 گزینه باید در دسترس باشد! در وردپرس معمولاً هیچ مشکلی در این مورد وجود ندارد، تنها 1 گزینه به طور پیش فرض در دسترس است، اما در موتورهای دیگر اغلب می توانید ببینید که سایت به هر دو صورت در دسترس است.

    تغییر مسیر 301 از www به بدون www:

    RewriteEngine در RewriteCond %(HTTP_HOST) !^www\.(.*) RewriteRule ^(.*)$ http://www.%1/$1

    تغییر مسیر 301 از یک سایت بدون www به با www:

    RewriteEngine در RewriteCond %(HTTP_HOST) ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1

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

    اگر نیاز به تنظیم یک تغییر مسیر 301 از یک صفحه به صفحه دیگر دارید، باید این کد را در فایل htaccess بنویسید:

    تغییر مسیر 301 /staraya-stranica.html http://site.ru/novaya-stranica.html

    از index.php (index.html) تا ریشه (صفحه اصلی)

    در برخی از موتورها ممکن است متوجه شوید که صفحه اصلی سایت نیز در این آدرس موجود است: site.ru/index.php. درست نیست. این صفحه باید یک تغییر مسیر 301 را به صفحه اصلی ارسال کند، این کار به این صورت است (فراموش نکنید که "سایت" را در دامنه خود بازنویسی کنید).

    اگر از index.php:

    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site/

    اگر با index.html:

    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://site/

    از http تا https:

    اگر نیاز به ثبت تغییر مسیر 301 از http به پروتکل امن httpS دارید، از این کد استفاده کنید:

    RewriteCond %(HTTPS) خاموش RewriteRule ^(.*)$ https://%(HTTP_HOST)%(REQUEST_URI)

    از یک دسته (دایرکتوری/پوشه) به دسته دیگر

    زمانی که تمام صفحات یک دسته بندی خاص باید به آدرس دیگری هدایت شوند نیاز است، در اینجا کد وجود دارد:

    RedirectMatch 301 ^/category-old/(.*) /category-new/$1

    از یک دامنه به دامنه دیگر

    اگر به طور ناگهانی به یک دامنه جدید منتقل شده اید، باید این را در htaccess دامنه قدیمی بنویسید:

    RewriteEngine در RewriteCond %(HTTP_HOST) old-domen.ru RewriteRule (.*) http://new-domen.ru/$1

    همچنین حتما آدرس سایت جدید را در دایرکتیو هاست مشخص کنید.

    301 تغییر مسیر در وردپرس با استفاده از افزونه Simple 301 Redirects

    اگر سایت مشتری روی وردپرس باشد و خودش بخواهد در جاهایی 301 ریدایرکت اضافه کند، من افزونه Simple 301 Redirects را نصب می کنم. بله، و برای مبتدیان خوب است. استفاده از این افزونه بسیار آسان است و همه چیز در قسمت مدیریت آشنا وردپرس انجام می شود، بنابراین ممکن است این روش برای برخی آسان تر به نظر برسد.

    نتیجه

    پس از ثبت تغییر مسیر 301، حتما سایت را از نظر عملکرد بررسی کنید. یک اشتباه کوچک می تواند کل سایت شما را از دسترس خارج کند. حتماً قبل از تغییر از فایل htaccess یک نسخه پشتیبان تهیه کنید یا از CTRL+Z برای بازگرداندن فایل به موقعیت اصلی خود استفاده کنید.

    همچنین: در نظر داشته باشید که وزن ریدایرکت های 301 بلافاصله منتقل نمی شود. بله، چسباندن در گوگل سریعتر اتفاق می افتد، اما در Yandex همه چیز به کندی اتفاق می افتد. معمولاً باید بین 1 تا 3 ماه صبر کنید.

    فراموش نکنید که این صفحه را نشانه گذاری کنید، به شما کمک خواهد کرد. و البته ممنون از ریتوییت ها.

    اغلب در توسعه وب نیاز به تغییر مسیر از یک صفحه (مثلاً یک صفحه قدیمی) به صفحه دیگر است. در همان زمان، تغییر مسیر را می توان با استفاده از روش های مختلف انجام داد - هم با و هم بدون کاهش وزن صفحه. اما بیشتر در این مورد.

    همانطور که می دانید هر صفحه ای در طول زمان ایندکس می شود و وزن خاص خود را در شبکه دارد. اگر صفحه‌ای دیگر مرتبط نباشد، مطمئناً می‌توان آن را حذف کرد، اما کاربرانی که روی آن کلیک کرده‌اند در قسمتی از سایت قرار می‌گیرند که وجود ندارد و در نهایت آن را ترک می‌کنند. انجام 301 تغییر مسیر به بخش های مربوطه سایت در چنین صفحاتی صحیح تر تلقی می شود. اولاً کاربر خطا را مشاهده نمی کند و وزن صفحه قدیمی به طور کامل به صفحه جدید منتقل می شود.

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

    تغییر مسیر 301 از طریق htaccess

    در ریشه سایت شما یک فایل وجود دارد (اگر وجود ندارد، آن را ایجاد کنید) به نام htaccess. آن را برای ویرایش باز کنید و از یکی از روش های زیر استفاده کنید.

    Redirect دائمی و Redirect 301 - به راحتی یک تغییر مسیر 301 از یک صفحه به صفحه دیگر (یا سایت) انجام می دهد. اولی لینک سایت قدیمی (توجه - بدون دامنه)، دومی پیوند به یک صفحه جدید (که می تواند همان سایت یا یک صفحه کاملا جدید باشد).

    مثال ها:
    تغییر مسیر دائمی / staraya-stranica.php http://newsait.ru/novaya-stranica.php
    (در اینجا ما به سادگی از صفحه قدیمی به صفحه جدید تغییر مسیر می دهیم)

    تغییر مسیر 301 / http://newsait.ru/
    (اینجا / به این معنی است که هر چیزی که از صفحه اصلی سایت و تمام زیر صفحه های آن (زیر دایرکتوری ها) شروع می شود به دامنه جدید هدایت می شود؛ یعنی در واقع یک تغییر مسیر از این دامنه به دامنه دیگر.)

    RewriteRule تغییر مسیر یک تغییر مسیر پیچیده تر از گزینه های قبلی است. برای عملکرد صحیح، ماژول mod_rewrite باید به هاست متصل شود (معمولا همیشه فعال است). این روش اغلب برای تغییر مسیر صفحات از www به همان صفحات بدون www و back استفاده می شود. بیایید به آنها نگاه کنیم:

    تغییر مسیر دامنه از www به غیر www
    Options +FollowSymLinks
    بازنویسی موتور روشن است
    RewriteCond %(HTTP_HOST) ^www\.(.*)
    RewriteRule ^(.*)$ http://%1/$1

    تغییر مسیر از غیر www به دامنه با www
    بازنویسی موتور روشن است
    RewriteCond %(HTTP_HOST) !^www\.(.*)
    RewriteRule ^(.*)$ http://www.%1/$1

    تغییر مسیر 301 از دامنه به دامنه و استثنا برای پیوند /market/vm2_market.xml. آن ها همه درخواست ها (به جز /market/vm2_market.xml) از دامنه قدیمی به دامنه جدید اجرا می شوند.

    RewriteEngine روشن است

    301 همه درخواست‌ها (به جز /market/vm2_market.xml و پیوند متن‌های / (و همه «پیوندهای فرعی» آن)) از دامنه قدیمی به دامنه جدید اجرا می‌شوند. قانون تغییر مسیر یک زیر لینک خاص (RedirectMatch 301) نیز در اینجا کار می کند.

    RewriteEngine روشن است
    RedirectMatch 301 ^/texts/data/msg/(.*)\.png$ http://olddomen.ru/texts/data/rimage/msg.php?id=$1
    RewriteCond %(REQUEST_URI) !^/texts*
    RewriteCond %(REQUEST_URI) !^/market/vm2_market.xml$
    RewriteRule ^(.*)$ http://newdomen.ru/$1

    RedirectMatch 301 یکی دیگر از روش های ریدایرکت خوب است، شبیه به Redirect 301 است اما عملکرد بیشتری دارد. یعنی می توان از آن برای ایجاد تغییر مسیر بر اساس عبارات منظم استفاده کرد.

    مثال ها:
    RedirectMatch 301 ^/olddirectory/ http://site/newdirectory/
    (در اینجا کل دایرکتوری به فهرست جدید هدایت می شود)

    RedirectMatch 301 ^(.*)$ http://site
    (همه صفحات را از دامنه قدیمی به دامنه جدید با استفاده از ریدایرکت 301 هدایت می کند (وزن نیز به سایت جدید منتقل می شود))

    RedirectMatch 301 (.*)\..php
    (تغییر صفحات از پسوند html به پسوند php)

    RedirectMatch 301 /dirA/(.*)\..php
    (تنها هنگام دسترسی به اسکریپت های PHP باعث تغییر مسیر از دایرکتوری dirA به دایرکتوری dirB می شود.
    .php -> http://site/dirB/page.php - کار خواهد کرد
    http://site/dirB/page.html - کار نخواهد کرد)

    نحو برای عبارات منظم
    . - یک نقطه جایگزین یک کاراکتر دلخواه می شود.
    - فهرستی از کاراکترهای مطابق با حروف a، b یا c را نشان می دهد.
    [^abc] - لیستی از کاراکترهایی که در محدوده مشخص شده قرار ندارند. با هر کاراکتری به جز a، b یا c مطابقت دارد.
    * - به این معنی است که کاراکتر قبلی را می توان (0 یا بیشتر بار) تکرار کرد.
    * - دستور کاراکترهای متوالی را از یک مجموعه مشخص پیدا می کند.
    [^abc]* - دقیقاً برعکس.

    .* - کاملاً جایگزین هر مجموعه شخصیتی می شود. ".*" - تمام رشته های فرعی بین نقل قول ها را پیدا می کند.
    ^ - ابتدای خط (اگر در ابتدای عبارت استفاده شود).
    $ - نشان دهنده انتهای خط است.

    \w - حرف، عدد یا خط زیر _.
    \d - جایگزین هر عددی می شود.
    \D - جایگزین هر کاراکتری می شود، اما نه یک عدد.
    - جایگزین هر عددی می شود.
    - هر حرفی از a تا z (کل مجموعه حروف لاتین) با حروف کوچک.
    - هر حرف از A تا Z در حروف UPPER.
    - هر حرفی از a تا Z در هر صورت.
    - همینطور

    کاراکترهای خاص به کار رفته در قوانین و معانی آنها.
    ^ - کاراکتر ویژه در ابتدای خط؛
    $ - کاراکتر ویژه پایان خط.
    ! - شخصیت نفی خاص؛
    . - نقطه، جایگزین هر کاراکتری می شود، اما فقط یک.
    () - گروه بندی؛
    \ یک اسلش "فرار" است؛ کاراکتر بعدی بعد از آن یک کاراکتر معمولی در نظر گرفته می شود، نه یک کاراکتر خاص.

    اصلاح‌کننده‌ها بعد از کاراکترهای معمولی، خاص یا گروه‌های آنها استفاده می‌شوند و به شما امکان می‌دهند قابلیت‌های قالب‌ها را برای راه‌اندازی قوانین گسترش دهید.
    ? - نماد 0 یا 1 بار تکرار می شود.
    + - از 1 تا 65536 بار تکرار شده است.
    * - از 0 تا 65536 بار تکرار شده است.

    پرچم هایی که موارد اضافی را مشخص می کنند گزینه هایی برای استفاده از قانون آنها در کروشه های مربعی که با کاما از هم جدا شده اند، فهرست شده اند.
    NC - پرچم NoCase، که بررسی حروف کاراکتر را در هنگام راه‌اندازی قانون غیرفعال می‌کند.
    R - پرچم Redirect، فرآیند توقف تغییر URL را انجام می دهد و نتیجه را برمی گرداند. رایج ترین مقدار استفاده شده R=301 است، اما مقادیر دیگری برای تغییر مسیرهای موقت (302، MOVED TEMPORARY) امکان پذیر است.
    L - آخرین پرچم، تشکیل URL را متوقف می کند و خط نهایی در نظر گرفته می شود.

    تغییر مسیر از طریق php. اگر یک صفحه PHP معمولی دارید که باید به یک آدرس جدید هدایت شود، می توانید بدون htaccess.

    مثال:

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

    مثال:
    window.location="http://site/category/";
    (ریدایرکت منظم به صفحه سایت)
    alert ("اکنون هدایت می شوید!"); window.location="http://site/category/";
    ( هدایت مجدد به یک صفحه وب سایت که قبل از آن یک پیام به کاربر نمایش داده می شود)

    من تمام راه های ممکن برای تغییر مسیر 310 را با استفاده از روش های مختلف جمع آوری کرده ام. شما می توانید هر چیزی را که دلتان می خواهد انتخاب کنید.

    در واقع، بیایید گزینه های انجام یک تغییر مسیر (Forwarding) را به درستی درک کنیم.

    تغییر مسیر ساده 301 در htaccess

    اگر سرور (یا هاست) شما از آپاچی استفاده می کند، تغییر مسیر را می توان از طریق یک فایل انجام داد. htaccess. این روش، به نظر من، ساده ترین و راحت ترین روشی است که من دیده ام. مهم! فراموش نکنید که mod_alias (برای پشتیبانی از قوانین Redirect، RedirectPermanent و RedirectMatch) و mod_rewrite را در php.ini فعال کنید.

    1. تغییر مسیر ساده از صفحات قدیمی به صفحات جدید: Redirect 301 /old/ http://domain.com/new/ یا Redirect دائمی /old/ http://domain.com/new/

    تنها ایراد آن نیاز به انجام تمام تغییرات به صورت دستی است، یعنی هر آدرس مستقیماً توسط برنامه نویس نوشته می شود.

    2. تغییر مسیر 301 در htaccess. برای پیوندهای روسی زبان

    تنها تفاوتی که زمان زیادی از من گرفت نیاز به ذخیره دقیق سند با فرمت UFT-8 بدون BOM بود که نکته بسیار مهمی است. اگر در قالب دیگری ذخیره کنید، به احتمال زیاد تغییر مسیر شما کار نخواهد کرد.

    بقیه چیزها هم همینطوره:

    3. تغییر مسیر با استفاده از RedirectMatch

    یک روش ریدایرکت مشابه همانطور که در بالا توضیح داده شد، با این تفاوت که در این مورد می توانید یک تغییر مسیر را مشخص کنید اگر سایت را از یک موتور php به aspx منتقل کرده باشید.

    RedirectMatch /(.*).php$ /$1.aspx

    4. تغییر مسیر دامنه از www به غیر www
    Options +FollowSymLinks RewriteEngine در RewriteCond %(HTTP_HOST) ^www.(.*) RewriteRule ^(.*)$ http://%1/$1

    گزینه دیگری به شکل ساده تر:

    Options +FollowSymLinks RewriteEngine در RewriteCond %(HTTP_HOST) ^www.domain.com$ RewriteRule ^(.*)$ http://domain.com/$1

    5. تغییر مسیر درخواست‌ها بدون www به c-www Options +FollowSymLinks RewriteEngine در RewriteCond %(HTTP_HOST) ^domain.com$ RewriteRule ^(.*)$ https://domain.com/$1

    همچنین یک مشکل مشابه را حل می کند:

    RewriteEngine در RewriteCond %(HTTP_HOST) !^www.(.*) RewriteRule ^(.*)$ https://%1/$1

    6. تغییر مسیر پیوندها با اسلش به بدون برای کل سایت RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteRule ^(.*)\/$ /$1 7. 301 تغییر مسیر مانند نقطه 6، اما برعکس RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteRule ^(.*[^\/])$ /$1/ 8. اسلش انتهای پیوند اصلی را اگر بدون www RewriteCond %(REQUEST_URI) !\؟ RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1/ RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^([^www].*)$ RewriteRule ^(.*)$ http://%1/$1/ 9. اسلش را در انتهای اگر او با www RewriteCond %(REQUEST_URI) !\؟ RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://www.%1/$1/ RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1/ RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteCond %(HTTP_HOST) ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 10. با استفاده از صحیح حذف کنید تغییر مسیر /index.php (بدون GET) RewriteCond %(REQUEST_URI) /index.php RewriteCond %(QUERY_STRING) ^\z RewriteRule ^(.*)$ http://site.ru/؟ 11. تغییر مسیر 301 برای همه آدرس هایی که index.php RewriteCond %(REQUEST_URI) /index.php RewriteRule ^(.*)$ http://site.ru/ 12. ما از یک URL پویا به یک آدرس ثابت هدایت می کنیم.

    گزینه با GET

    RewriteCond %(QUERY_STRING) ^id=229 RewriteRule ^.*$ /supermodel/؟

    گزینه بدون GET

    RewriteCond %(REQUEST_URI) /test/ RewriteCond %(QUERY_STRING) ^id=229 RewriteRule ^.*$ /supermodel/؟

    13. ما همه صفحات یک دامنه را به یک آدرس اینترنتی دامنه دیگر هدایت می کنیم RewriteCond %(REQUEST_URI) (.*) RewriteRule ^(.*)$ http://site.ru/ 14. تغییر مسیر برای SSL (تغییر مسیر از http به https و بالعکس)

    من بیشتر در این مورد نوشتم که در پرتو، پیشنهاد مطالعه آن را دارم.

    RewriteEngine در RewriteCond %(HTTPS) خاموش RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

    تغییر مسیر با استفاده از اسکریپت ها

    بسیاری از افراد با استفاده از اسکریپت ها تغییر مسیرها را انجام می دهند. یک انتخاب کوچک برای تنوع.

    HTTP/1.1 301 به طور دائم منتقل شد مکان: https://new.com/new-k/new.htm تغییر مسیر PHP

    15. ASP تغییر مسیر می دهد

    17. تغییر مسیر ASP.NET
    Private void Page_Load(object sender, System.EventArgs e) ( Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","https://new.com"); ) 18. تغییر مسیر ColdFusion
    19. تغییر مسیر JSP (جاوا).
    20. CGI PERL
    $q = CGI جدید. چاپ $q->redirect ("https://new.com/")؛ Ruby on Rails def old_action headers["Status"] = "301 Moved Permanently" redirect_to "https://new.com/"

    همچنین توصیه های متفاوتی از سوی موتورهای جستجو برای پیاده سازی ریدایرکت های 301 وجود دارد. توصیه می‌کنم از دستورالعمل‌های Google استفاده کنید، که به جزئیات زیادی در مورد نحوه تنظیم صحیح تغییر مسیر 301 می‌پردازد.

    برای قرار دادن تغییر مسیرهای 301 در سرورهای آپاچی، کافی است فایل htaccess. را همانطور که در بالا توضیح داده شد ویرایش کنید. اگر نمی‌دانید که چگونه این کار می‌کند و نمادهای بدشانسی در توضیحات بالا برای شما یک معمای بزرگ است، با ارائه‌دهنده هاست خود تماس بگیرید یا سؤالی را در نظرات بنویسید.

    نحوه ایجاد ریدایرکت 301 (ریدایرکت) در وردپرس با استفاده از افزونه

    بسیاری از مردم از یکی از محبوب ترین CMS وردپرس استفاده می کنند. به دلایل مختلف، ممکن است نیاز به تغییر مسیر در داخل سایت داشته باشیم. به عنوان مثال، این نیاز برای من هنگام انتقال یک وب سایت به دامنه جدید ایجاد شد.

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

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

    بیایید به برخی توضیحات مربوط به تغییر مسیر 310 نگاه کنیم

    تغییر مسیر 301 یا خطای سرور 301، پاسخی است که در هدر HTTP مشخص شده است و نشان می دهد که آدرس قدیمی یک مسیر جدید به صورت دائمی دارد.

    ** خطای 303 یک مسیر تغییر مسیر موقت را نشان می دهد.

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

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

    به عنوان مثال، تغییر آدرس یک فروشگاه اینترنتی منجر به ضررهای بزرگ می شود، زیرا برخی از بازدیدکنندگان از دست خواهند رفت. در این مورد، اسکریپت این مشکل را حل می کند: کاربران نیز همان آدرسی را که می دانند را تایپ می کنند، اما به صفحه جدیدی هدایت می شوند. تغییر مسیر در مواردی که چندین نام دامنه با هم تلاقی می کنند کمک خواهد کرد. آدرس سایت را می توان با تعیین www یا به سادگی تایپ سریع نام اصلی وارد کرد، اما با کمک اسکریپت است که در همان صفحه قرار می گیرند.

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

    چرا این اتفاق می افتد؟

    واقعیت این است که سایت‌های جستجو ماشین‌هایی هستند که باید همه منابع را به وضوح فهرست‌بندی کنند. سایت های چسبنده مانع کارایی ایندکس سریع می شوند که به نوبه خود باعث کاهش روانی کار آنها می شود.

    خطرناک ترین در این زمینه سایت هایی هستند که توسط روبات ها ایندکس می شوند، در حالی که کاربر را به منبعی هدایت می کنند که تغییر مسیر از آن انجام می شود. اما موتورهای جستجو همیشه سایت های لینک شده را منفی درک نمی کنند. ما در مورد تابع تغییر مسیر 301 صحبت می کنیم.

    Redirect 301 یک سرویس در سطح سرور است. این یک استثنا در میان سایر عملکردهای مشابه است، زیرا تقریباً همه موتورهای جستجو آن را دوستانه می دانند. به طور خاص، بزرگترین منبع جستجوی گوگل، که اغلب مورد استفاده قرار می گیرد، به طور مطلوب با سرویس تغییر مسیر 301 به صفحه مورد نظر هدایت می شود.

    دلیل تعامل موفقیت آمیز تغییر مسیر 301 با منابع جستجو این است که اساساً با خدمات بهینه سازی مشابه تفاوت دارد. این به گونه ای طراحی شده است که به وضوح برای یک ربات که یک موتور جستجو است کار می کند. یک تغییر مسیر یک بار و برای همیشه به آدرس صفحه مورد نظر هدایت می شود.

    تاثیر تغییر مسیر 301 بر ارتقاء سئو

    1. با تغییر مسیر 301، آدرس ها ادغام می شوند. ربات های موتور جستجو و کاربرانی که سایت را در مرورگر باز می کنند به طور خودکار به صفحه جدیدی با آدرس جدید هدایت می شوند.

    2. هنگام ادغام آدرس ها، url جدید وزن کامل صفحه، جرم پیوند و مقادیری مانند TIC را دریافت می کند.
    اگر نمی خواهید موقعیت و رتبه سایت را از دست بدهید، چنین تغییر مسیری بهترین راه حل در هنگام انتقال یک سایت به یک سیستم مدیریت محتوای جدید است. وبلاگ سئو من از چندین نوع تغییر مسیر 301 برای تغییر مسیر استفاده می کند.

    همین. امیدوارم این مقاله برای شما مفید بوده باشد. اگر روش‌های خود را برای راه‌اندازی تغییر مسیر می‌شناسید، خوشحال می‌شوم که در نظرات در مورد آنها مطالعه کنم.

    بهترین مقالات در این زمینه