حل خطای 404 وردپرس هنگامی که مطلب یا برگه وجود دارد

حل خطای ۴۰۴ وردپرس هنگامی که مطلب یا برگه وجود دارد

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

ریست کردن پیوندهای یکتا

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

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

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

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

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

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

ریست کردن خودکار پیوندهای یکتا

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

ریست کردن تنظیمات پیوندهای یکتا وردپرس به صورت دستی

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

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

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

ریست کردن دستی فایل htaccess

برای ریست کردن دستی فایل htaccess باید به آن دسترسی داشته باشد. این فایل در روت سایت شما (جایی که فایل wp-config.php وجود دارد)  قرار گرفته و از طریق سی پنل، FTP و … مشاهده و ویرایش می شود.

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

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

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

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

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

اگر وردپرس شما به صورت تکی (بدون شبکه) نصب شده است کد زیر را جایگزین کد مشابه در فایل خود کنید:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

اگر وردپرس شما به صورت شبکه و ساب دایرکتوری (عدم استفاده از ساب دامین برای سایت ها) نصب شده است کد زیر را جایگزین کد مشابه در فایل خود کنید:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

اگر وردپرس شما به صورت شبکه و ساب دامین (استفاده از ساب دامین برای سایت ها) نصب شده است کد زیر را جایگزین کد مشابه در فایل خود کنید:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

اگر نسخه وردپرس شما از ۳.۴ پایین تر است برای کد مورد نیاز خود به راهنمای رسمی وردپرس مراجعه کنید.

پس از ذخیره کردن فایل با محتوای جدید قوانین مربوط به mod_rewrite  حذف شده و با قوانین جدید به روز می شوند. در این مرحله ارورهای سایت شما به احتمال زیاد برطرف شده اند.

حل خطای ۴۰۴ پست تایپ های سفارشی

حل خطای ۴۰۴ در پست تایپ های سفارشی مقداری با روش های قبل تفاوت دارد، چرا که در این حالت باید پست تایپ ها را بررسی کرده و مطمئن شوید که نام و نامک (slug) هر پست تایپ منحصر به فرد باشد.

اگر دو یا تعداد بیشتری از پست تایپ ها دارای نام یا نامک مشابه باشند، باید تغییر داده شوند. تنها یک پست باید دارای آن نام و نامک باشد.

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

ریست کردن پیوندهای یکتا

برای حذف خطاهای ۴۰۴ پست تایپ ها باید تنظیمات مربوط به پیوندهای یکتا را ریست کنید. برای این کار می توانید از روش های ذکر شده در بالا استفاده کنید.

با انجام این کار نباید با ارورهای ۴۰۴ پست تایپ ها مواجه شوید. چند پست تایپ را بررسی کرده و از صحت کارکرد آن ها اطمینان حاصل کنید.

گزینه های بیشتر برای رفع مشکل

اگر با روش های بالا مشکل برطرف نشد، مطمئن شوید که فایل htaccess دارای دسترسی صحیح باشد. برای ویرایش این فایل توسط وردپرس باید امکان نوشتن فایل فعال باشد.

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

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

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

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

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

درخواست کمک حرفه ای

اگر هیچ کدام از این روش ها مشکل شما را برطرف نکرد باید از یک فرد آگاه در این زمینه کمک بگیرید.

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

از طریق بخش تماس با ما سایت هشت تم هم می توانید مورد را به ما گزارش داده تا آن را بررسی کرده و راه حل مناسب را به شما ارائه دهیم.

نتیجه گیری

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

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

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

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

1 پاسخ

دیدگاه خود را ثبت کنید

مطلب خاصی فکرتان را مشغول کرده است ؟
آن را با ما در میان بگذارید !

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

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