یکی از مشکلاتی که اکثر کاربران WordPress تابحال تجربه کردهاند این است که ناگهان همهی پستها و صفحههای وبلاگ وردپرسیشان باز نمیشوند و خطای “۴۰۴ – Not Found” به آنها نمایش داده میشود. این خطا ممکن است بسته به تنظیمات قالب شما در فرمتهای گوناگونی نمایش داده شود. اکثر اوقات علت بروز این مشکل ایجاد تغییر در ساختار پیوندهای یکتا توسط کاربر است و البته حل این مشکل نیز کارِ سختی نیست.
در این نوشته چندین راه برای حل این مشکل بهشما پیشنهاد میکنم که امیدوارم برایتان مفید باشد. البته ممکن است تنها یکی از راههای معرفی شده برای حل مشکل شما کارآمد باشد، پس اگر یکی از روشها مشکلتان را حل نکرد، ناامید نشوید و راههای دیگر را نیز امتحان کنید.
۱. تنظیم دوبارهی پیوند یکتا (Permalinks)
همانطور که گفته شد یکی از علل اصلی بهوجود آمدن مشکل ‘خطای ۴۰۴’ تغییرات مربوط به پیوندهای یکتای هر صفحه و پست در سایت شماست. گاهی تنها با تنظیم دوبارهی این پیوندها مشکل شما حل خواهد شد. برای این کار، در پیشخوان وردپرس، از منوی سمت راست به تنظیمات > پیوندهای یکتا بروید و در آنجا اگر یکی از پیوندهای یکتای غیر از حالت پیشفرض را انتخاب کردهاید، آن را بهحالت پیشفرض تغییر دهید و سپس بر روی ذخیرهی تغییرات کلیک نمایید (اگر پیوند یکتای شما از پیش بر روی حالت پیشفرض بود کافیست تنها روی ذخیرهی تغییرات کلیک کنید). اکنون تنظیمات پیوند یکتای شما بهروزرسانی شده است! میتوانید دوباره پیوند یکتا را به حالتی که قبلاً برای مطالب خود انتخاب کرده بودید تغییر دهید و مجدداً با کلیک با روی ذخیرهی تغییرات همهچیز را بهحالت اولیه بازگردانید.
طبق آنچه گفته شد با این کار شما ساختار پیوند یکتای مطالبتان را بهروزرسانی میکنید. اکنون بهاحتمال زیاد مشکل شما حل شده است، در غیر این صورت ناامید نشوید. راههای بعدی را امتحان کنید.
۲. تغییر دستی محتویات htaccess
تنظیمات مربوط به پیوند یکتا در وردپرس، در فایلی بهنام htaccess. قرار دارد. برای دسترسی به این فایل از طریق File Manager هاست خود و یا از یک FTP به قسمتی بروید که فولدرهای wp-admin و wp-content قرار دارند. فایل htaccess. در این قسمت قرار دارد، البته توجه داشته باشید که این فایل مخفی (Hidden) است و برای نمایش آن باید گزینهی نمایش فایلهای مخفی در FTP یا File Manager هاست شما فعال باشد. پیش از هرچیز باید دسترسیهای این فایل را از ۶۴۴ به ۶۶۶ تغییر دهید (معمولاً با کلیکراست بر روی این فایل گزینهی Permissions بهشما نمایش داده خواهد شد که از طریق آن میتوانید دسترسی فایل را تغییر دهید). حال باید محتویات فایل را ویرایش کنید. کدهای موجود در فایل را با آنچه در زیر قرار داده شده جایگزین کنید:
# 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
حالا تغییرات را ذخیره کنید. بعد از ذخیرهی تغییرات فراموش نکنید دوباره دسترسی این فایل را به ۶۴۴ تغییر دهید.
اگر هنوز هم مشکلتان حل نشده، راه حل بعدی را مشاهده کنید.
۳. مشکلات مربوط به فایلهای متفرقه از جمله افزونهها
یکی دیگر از علتهای بروز خطای ۴۰۴ در سایت شما مشکلاتی است که ربطی به htaccess و پیوندهای یکتا ندارند. معمولاً وقتی که وردپرس خود را بهصورت دستی بهروزرسانی میکنید یا یک بهروزرسانی ناقص انجام میدهید برخی فایلها بهدرستی جایگزین نمیشوند و همین موضوع موجب بروز مشکلات میشود.
یکی از بخشهایی که در یک تجربهی شخصی متوجه شدم میتواند باعث بهوجود آمدن خطای ۴۰۴ شود، بهروز نبودن افزونهها است. در یک مورد خاص برای بهروزرسانی سایت شخصی خودم، مجبور بودم وردپرس را دستی بهروز رسانی کنم که به دلیل نامشخصی افزونههای نگارش جدید وردپرس را جایگزین قبلیها نکردم (۳ الی ۴ افزونهی پیشفرض در وردپرس وجود دارد که از همان ابتدا نصب هستند). بارها تلاش کردم با تغییر htaccess. مشکل را حل کنم ولی بعداً متوجه شدم که مشکل تنها بهخاطر بهروز نشدن فایلهای افزونه در حین بهروز رسانی بوده است.
اگر شما هم دو راه حل قبلی برایتان کارساز نبوده سعی کنید فایلهای افزونه (و در مراحل بعدی بقیهی فایلهایی که باید جایگزین شوند) را بهصورت دستی در هاست (از طریق فایلهای نگارش جدید وردپرس که دانلود کردهاید) بهروزرسانی کنید.
مهم: توجه داشته باشید برای بهروزرسانی دستی وردپرس برخی فایلها را نباید پاک کنید چون در این صورت اطلاعات شما پاک خواهد شد. به هر حال همیشه قبل از بهروزرسانی از اطلاعات خود نسخهی پیشتیبان تهیه کنید.
امیدوارم با انجام یکی از مراحل گفته شده در بالا، مشکل خطای ’۴۰۴ – Not Found’ در وبسایت شما حل شده باشد.