نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Feb 2017
    نوشته ها
    56
    تشکر تشکر کرده 
    61
    تشکر تشکر شده 
    3
    تشکر شده در
    3 پست

    پیش فرض مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

    درود بر اساتید محترم
    من پیوند یکتا سایتم رو تغییر دادم و از افزونه Change Permalink Helper استفاده میکنم
    این افزونه پیوند های قبلی رو به خوبی به پیوند های جدید هدایت میکنه ولی صفحات حذف شده رو به صفحه 404 میفرسته که من می خوام به صفحه اصلی بفرسته
    دوستان چگونه میتونم همچین کاری بکنم؟

    این رو هم اضافه کنم
    من افزونه All 404 Redirect to Homepage یا 404 redirections رو هم نصب کردم ولی وقتی فعال میکنم پیوند های قبلی رو هم به صفحه اصلی هدایت میکنه

    ممنون میشم راهنمایی کنید
    ویرایش توسط babakm : September 18th, 2017 در ساعت 07:55

  2. تعداد تشکر ها از babakm به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

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

    کد:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . / [L,R=301]
    در کد بالا خط دوم شرط گذاشته شده که اگه فایل درخواست شده وجود نداشته باشه سراغ ریدایرکت که در خط سوم آمده بره.
    پس متوجه شدیم که به دلیل فرضی بودن خود صفحات ساخته شده وردپرس که فایل فیزیکی ندارن این کد اونا رو با صفحاتی که واقعاً وجود ندارن یکسان می دونه.

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

    این فایل 404.php موجود در هر قالب علاوه بر امکان ایجاد استایل و HTML اختصاصی با توجه به php بودن فرمتش امکان کلاً ریدایرکت کردن صفحه به جای نمایش صفحه ای خاص هم داره که با کد زیر انجام میشه:
    نکته: اگر در قالب شما این فایل وجود نداره براحتی می تونید یه فایل با نام 404 و فرمت php در کنار سایر فایل های قالب خودتون (در پوشه اصلی قالب کنار functions.php و index.php و...) بسازید.

    کد:
    <?php
    $homepage = 'http://' . $_SERVER['HTTP_HOST'];
    header("Location: $homepage", true, 301);
    exit();
    ?>
    در کد بالا خط دوم در متغیری به نام homepage آدرس دامنه سایت شما توسط خود PHP و متغیر سراسری SERVER_$ شناسایی میشه اما می تونید اینو دستی هم خودتون وارد کنید تنها تفاوتش در اینه که وقتی اینطوری خود PHP آدرس دامنه سایت رو شناسایی کنه همین کد رو بدون هیچ تغییری برای سایت های مختلفی هم می تونید استفاده کنید.
    سپس در خط سوم ریدایرکت رو اونم به صورت 301 انجام میده.
    در آخر با دستور exit مانع از اجرای هیچ کد دیگه ای توسط فایل 404.php میشه.

    با توجه به وجود دستور exit شما نیاز ندارید کد های فعلی فایل 404.php قالب فعلیتون رو حذف کنید می تونید کد بالا رو در اولین خط این فایل قبل از همه کد های موجود بذارید اینطوری هر وقت دیگه دوست نداشتید خطا های 404 ریدایرکت بشن می تونید فقط این پاراگراف اول فایل رو پاک کنید و برمیگرده مثل حالت قبل.

    همچنین می تونید در کد بالا متغیر homepage رو با توجه به نیاز خودتون همراه با www کنید یا حتی http رو به https (اگه سایتتون از https استفاده میکنه) تغییر بدید.

  5. تعداد تشکر ها از AtrafNet به دلیل پست مفید


  6. #3
    عضو انجمن bakuryu آواتار ها
    تاریخ عضویت
    Apr 2010
    محل سکونت
    TEHRAN
    نوشته ها
    669
    تشکر تشکر کرده 
    226
    تشکر تشکر شده 
    293
    تشکر شده در
    277 پست

    پیش فرض پاسخ : مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

    لطفا این افزونه هم چک کنید

    کد:
    404 to 301
    IRANVPS.ORG
    Tel: (021) 95119886 - Telegram - WhatsApp: (0935) 8382884
    تهران-میدان امام خمینی-پاساژ طبس-طبقه سوم-پ ۳/۴

  7. تعداد تشکر ها از bakuryu به دلیل پست مفید


  8. #4
    کاربر اخراج شده
    تاریخ عضویت
    Feb 2017
    نوشته ها
    56
    تشکر تشکر کرده 
    61
    تشکر تشکر شده 
    3
    تشکر شده در
    3 پست

    پیش فرض پاسخ : مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

    نقل قول نوشته اصلی توسط bakuryu نمایش پست ها
    لطفا این افزونه هم چک کنید

    کد:
    404 to 301
    درود بر شما
    نصب کردم نشد

    - - - Updated - - -

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    سلام
    چون پیوند های یکتا وردپرس فرضی هستن و در واقع فایل فیزیکی برای صفحات ساخته شده فرضی اون وجود نداره چنین افزونه هایی چون احتمالاً میان از کد های مشابه این در فایل htaccess. شما استفاده میکنن هم صفحات اخطار 404 که واقعاً وجود ندارن و هم صفحات فرضی پیوند های یکتا وردپرس رو باهم به صفحه اصلی شما ریدایرکت میکنن:

    کد:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . / [L,R=301]
    در کد بالا خط دوم شرط گذاشته شده که اگه فایل درخواست شده وجود نداشته باشه سراغ ریدایرکت که در خط سوم آمده بره.
    پس متوجه شدیم که به دلیل فرضی بودن خود صفحات ساخته شده وردپرس که فایل فیزیکی ندارن این کد اونا رو با صفحاتی که واقعاً وجود ندارن یکسان می دونه.

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

    این فایل 404.php موجود در هر قالب علاوه بر امکان ایجاد استایل و HTML اختصاصی با توجه به php بودن فرمتش امکان کلاً ریدایرکت کردن صفحه به جای نمایش صفحه ای خاص هم داره که با کد زیر انجام میشه:
    نکته: اگر در قالب شما این فایل وجود نداره براحتی می تونید یه فایل با نام 404 و فرمت php در کنار سایر فایل های قالب خودتون (در پوشه اصلی قالب کنار functions.php و index.php و...) بسازید.

    کد:
    <?php
    $homepage = 'http://' . $_SERVER['HTTP_HOST'];
    header("Location: $homepage", true, 301);
    exit();
    ?>
    در کد بالا خط دوم در متغیری به نام homepage آدرس دامنه سایت شما توسط خود PHP و متغیر سراسری SERVER_$ شناسایی میشه اما می تونید اینو دستی هم خودتون وارد کنید تنها تفاوتش در اینه که وقتی اینطوری خود PHP آدرس دامنه سایت رو شناسایی کنه همین کد رو بدون هیچ تغییری برای سایت های مختلفی هم می تونید استفاده کنید.
    سپس در خط سوم ریدایرکت رو اونم به صورت 301 انجام میده.
    در آخر با دستور exit مانع از اجرای هیچ کد دیگه ای توسط فایل 404.php میشه.

    با توجه به وجود دستور exit شما نیاز ندارید کد های فعلی فایل 404.php قالب فعلیتون رو حذف کنید می تونید کد بالا رو در اولین خط این فایل قبل از همه کد های موجود بذارید اینطوری هر وقت دیگه دوست نداشتید خطا های 404 ریدایرکت بشن می تونید فقط این پاراگراف اول فایل رو پاک کنید و برمیگرده مثل حالت قبل.

    همچنین می تونید در کد بالا متغیر homepage رو با توجه به نیاز خودتون همراه با www کنید یا حتی http رو به https (اگه سایتتون از https استفاده میکنه) تغییر بدید.
    درود بر شما
    عزیز کد زیر رو که فرمودید به صفحه 404 اضافه کردم و این افزونه ها رو
    All 404 Redirect to Homepage یا 404 redirections غیر فعال کردم و تنها افزونه
    Change Permalink Helper فعال گذاشتم بمونه ولی با کد شما هم پیوند های قدیمی رو که میزنم میره به صفحه اصلی

    کد:
    <?php
    $homepage = 'http://' . $_SERVER['HTTP_HOST'];
    header("Location: $homepage", true, 301);
    exit();
    ?>
    ویرایش توسط babakm : September 18th, 2017 در ساعت 14:54

  9. #5
    کاربر اخراج شده
    تاریخ عضویت
    Feb 2017
    نوشته ها
    56
    تشکر تشکر کرده 
    61
    تشکر تشکر شده 
    3
    تشکر شده در
    3 پست

    پیش فرض پاسخ : مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

    یه دوستی تو یک فروم دیگه این کد رو پیشنهاد کردند
    این کد استاندارد است؟
    به من گفتند:
    افزونه Change Permalink Helper رو پاک کنید و کد زیر رو به فایل functions.php قالبتون زیر اولین
    کد PHP:
    <?php
    اضافه کنید.

    کد PHP:
    add_action('template_redirect', function() {    if(is_404()) :        global $wpdb;        $slug htmlspecialchars(basename($_SERVER'REQUEST_URI' ]));        $id $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_name = '%s' AND post_status = 'publish'"$slug));        if($id) {            $url get_permalink($id);            wp_redirect($url301);            exit();        }    endif;});
    add_action('template_redirect', function() {    if(is_404()) {        wp_redirect(home_url('/'), 301);        exit();    }}, 11); 
    ویرایش توسط babakm : September 18th, 2017 در ساعت 16:20

  10. #6
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : مشکل در تغییر پیوند یکتا و هدایت به صفحه اصلی

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

    - - - Updated - - -



    درود بر شما
    عزیز کد زیر رو که فرمودید به صفحه 404 اضافه کردم و این افزونه ها رو
    All 404 Redirect to Homepage یا 404 redirections غیر فعال کردم و تنها افزونه
    Change Permalink Helper فعال گذاشتم بمونه ولی با کد شما هم پیوند های قدیمی رو که میزنم میره به صفحه اصلی

    کد:
    <?php
    $homepage = 'http://' . $_SERVER['HTTP_HOST'];
    header("Location: $homepage", true, 301);
    exit();
    ?>
    جناب پس به احتمال زیاد مشکل از کد های فایل htaccess. هست چون این روش فایل 404.php رو بارها برای سایت های مختلفی تست کردم و موردی نبوده.
    اگر اشکال نداره که محتویات فایل htaccess. رو بذارید بررسی میکنم.
    افزونه Change Permalink Helper رو هم من ضرورتش رو نمی فهمم وقتی با خود بخش تنظیمات => پیوند های یکتا وردپرس میشه پیوند یکتای دقیقی ساخت چرا باید این افزونه رو نصب داشت؟

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 3
    آخرين نوشته: October 18th, 2016, 09:14
  2. تغییر پیوند یکتا
    توسط Omid.K در انجمن سوالات و مشکلات
    پاسخ ها: 3
    آخرين نوشته: June 15th, 2014, 18:00
  3. تغییر صفحه فیل تر ینگ پیوندها
    توسط ho3yn_sha2 در انجمن مباحث دیگر
    پاسخ ها: 2
    آخرين نوشته: December 31st, 2013, 18:11
  4. تغییر نکردن پیوند یکتا!!!
    توسط armin1376 در انجمن Wordpress
    پاسخ ها: 4
    آخرين نوشته: November 29th, 2012, 00:19
  5. تغییر دیزاین سایت پیوندها
    توسط vps-baran.ir در انجمن مباحث دیگر
    پاسخ ها: 19
    آخرين نوشته: March 24th, 2012, 13:05

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •