جديدالجمعة السوداء: خصم ٥٠٪ على دفعتك الأولى
استكشاف أخطاء ووردبريس

404 في كل صفحة باستثناء الصفحة الرئيسية

نمط محدد للغاية مع قائمة قصيرة جدًا من الأسباب. لا تزال مشاركاتك موجودة ؛ جهاز التوجيه أمامهم ليس التوجيه.

404 Not Found — the requested page could not be found.

الإجابة المختصرة

الصفحة الرئيسية هي عنوان URL الوحيد الذي لا يحتاج إلى قاعدة إعادة كتابة ، وهذا هو السبب في أنه الناجي الوحيد. تأكيد عن طريق طلب مشاركة بسلسلة استعلام بدلاً من الرابط الثابت - إذا تم تحميل ذلك ، فإن المحتوى جيد وطبقة إعادة الكتابة هي المشكلة بأكملها.

التشخيص

الأسباب الأرجح أولًا.

افحص القائمة بالترتيب. يتيح لك كل فحص تأكيد السبب أو استبعاده قبل تغيير أي شيء، لأن الحلول تختلف والتخمين يكلّف أكثر من تنفيذ أمر للتحقق.

السببكيفية التحققالإصلاح
قواعد إعادة كتابة قديمة أو مفقودةشكل سلسلة الاستعلام من تحميل آخر و الرابط الثابت الجميل لا. لا شيء حول المحتوى يختلف بين الطلبين.تجديد القواعد. حفظ إعدادات الرابط الثابت يفعل ذلك من خلال الواجهة ؛ على سطر الأوامر هو مكالمة واحدة.
خادم الويب لا يرسل مسارات غير معروفة إلى WordPress404 هي صفحة خادم الويب الخاصة بدلاً من الموضوع. لم يتم تشغيل WordPress أبدًا ، لذلك لا يمكن إنتاجه.إضافة المتحكم الأمامي الاحتياطي بحيث يتم تسليم أي مسار ليس ملف حقيقي إلى index.php. بدونه فقط يحل جذر المستند.
تم إيقاف تشغيل AllowOverride ، لذا يتم تجاهل .htaccessعلى Apache ، الملف موجود وصحيح وتغييره ليس له أي تأثير على الإطلاق.تمكين السماح بالتجاوز للدليل، أو نقل القواعد المكافئة إلى المضيف الافتراضي حيث يتم قراءتها دائمًا.
هيكل الرابط الثابت لا يمكن للموقع أن يخدمهبدأت المشكلة مباشرة بعد تغيير بنية الرابط الثابت ، والعودة إلى الروابط الثابتة البسيطة تعيد كل شيء.اختر بنية وجدد القواعد. الفئة الرائدة أو قاعدة نوع آخر مخصص يصطدم بمسار صفحة موجود هو الفخ المعتاد.
الدليل

الإصلاح خطوة بخطوة.

تفترض الأوامر توفر WP-CLI والوصول إلى سطر الأوامر. إن لم يتوفرا، تشرح كل خطوة الإجراء كي تنفذه من لوحة التحكم أو عبر SFTP.

  1. إثبات أن المحتوى لا يزال هناك

    إذا تم تحميل هذا ، فلن يتم فقد أي شيء وكان الإصلاح بالكامل في طبقة إعادة الكتابة.

    curl -sS -o /dev/null -w '%{http_code}\n' 'https://example.com/?p=1'
  2. جدد القواعد.

    أول شيء يجب تجربته ، وغالبًا ما يكون الأخير.

    wp rewrite flush --hard
    wp rewrite list --format=count
  3. تحقق من الخادم يقع في الواقع مرة أخرى إلى index.php

    هذا هو نموذج nginx. بدونه، يتم تقديم المسارات الموجودة على القرص فقط.

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
  4. استعادة جيدة معروفة .htaccess على أباتشي

    كتلة المخزون. إذا لم تغير الكتابة شيئًا ، فسيتم إيقاف تشغيل AllowOverride ويتم تجاهل الملف.

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress
  5. تأكيد رابط دائم حقيقي يحل الآن

    اسأل WordPress عن عنوان URL الذي أنشأه بنفسه ، لذلك لا توجد فرصة لاختبار مسار لم يكن موجودًا أبدًا.

    wp post list --post_type=post --posts_per_page=1 --field=url | xargs -I{} curl -sS -o /dev/null -w '%{http_code}\n' {}
على MagicWP

ما تتولاه المنصة عنك.

يعد احتياطي وحدة التحكم الأمامية جزءًا من تكوين nginx لكل موقع منذ لحظة إنشائه ، لذلك لا يمكن أن يحدث الإصدار الأكثر شيوعًا من هذا - الخادم الذي يخدم الملفات الموجودة على القرص فقط. لا يوجد .htaccess في مسار الطلب ليتم تجاهله أو الكتابة فوقه بواسطة مكون إضافي أو فقد في الاستعادة ، لأن القواعد تعيش في تكوين خادم الموقع الخاص بدلاً من ملف داخل webroot.

الأسئلة الشائعة

الأسئلة الشائعة.

هل فقدت منشوراتي؟
لا. يثبت اختبار سلسلة الاستعلام ذلك: نفس المنشور الذي يحمل 404s في الرابط الثابت الخاص به بواسطة ID. فقط يتم كسر التعيين من عنوان URL إلى المحتوى.
لماذا لا تزال الصفحة الرئيسية تعمل؟
هو جذر المستند ، لذلك لا يحتاج إلى قاعدة إعادة كتابة ليتم العثور عليها. يعتمد كل عنوان URL آخر على مجموعة القواعد المفقودة ، وهذا هو بالضبط سبب وجود هذا الشكل في الفشل.
لقد مسحت القواعد ولم يتغير شيء ماذا الآن؟
يشير ذلك إلى طبقة واحدة: الخادم لا يسلم مسارات غير معروفة إلى WordPress على الإطلاق. Flushing يعيد كتابة ما يعرفه WordPress ، وهو أمر عديم الفائدة إذا لم يصل الطلب إليه أبدًا.
هل يمكن أن يكون أحد المكونات الإضافية قد تسبب في ذلك؟
نعم - يضيف أي شيء يسجل نوعًا مخصصًا للبريد أو تصنيفًا قواعد ، وإضافة واحدة دون تنظيف يترك عناوين URL الجديدة 404ing حتى يتم إعادة بناء القواعد.
أخطاء مرتبطة

إن لم يكن هذا هو السبب.

قد تبدو هذه الأخطاء متشابهة في المتصفح.