خطای 404 که جز معروف ترین خطاهای سمت کاربری است را قصد داریم در این مقاله به نحوه رفع و حل آن بپردازیم. این خطا در سایت GTmetrix با عنوان Avoid HTTP 404 (Not Found) error درج شده، برای رفع ارور 404 ادامه مقاله را مطالعه بفرمایید.
1 خطای 404 Not Found Error چیست
2 دلایل بروز خطای HTTP 404
3 خطای 404 not found را چگونه باید در سمت کاربر رفع کرد
4 خطای 404 not found سمت مدیر سایت
5 اشتباهات دیگری که مشابهی خطای 404 است
ارور 404 Not Found Error به معنای پیدا نشدن است، خطای 404 یک کد وضعیت از پروتکل HTTP از نوع خطاهای مهم رده 4XX است به این معنا که صفحهی وبسایتی که شما در پی دسترسی به آن هستید، بر روی سِرورش قابل دسترسی نیست. ارور 404 که معنای یافت نشد را دارد، غالباَ به وسیلهی وبسایتها، سفارشیسازی میشوند. یعنی برخی وب سایت ها نحوه نمایش ارور ۴۰۴ را تغییر داده و بر اساس سیایت های داخلی آن سایت باز طراحی میشود.
برخی از راههای متداولی که از طریق آن میتوانید با خطای 404 را حل کنید ما در این مقاله به آن اشاره خواهیم کرد.
نمایش ارور 404 Not Found شکل های مختلفی دارد:
خطای 404 از نظر فنی، خطایی از سمت کاربر است تا خطا از سمت سرویسدهنده (سرور). که به صورت ضمنی بر این موضوع دلالت دارد که این خطا ناشی از اشتباه شما (کاربران) است؛ اشتباه در نوشتن صحیح آدرس اینترنتی و یا این که صفحهی (مورد نظر) منتقل شده است و یا آن صفحه از وب سایت حذف شده است و شما از این موضوع اطلاع ندارید.
احتمال دیگر این است که وب سایتی صفحه یا منبعی را جابهجا کند ولی این کار را بدون آدرسدهی از نشانی اینترنتی قدیمی به نشانی جدید انجام داده باشد (ریدایرکت صورت نگیرد). وقتی این اتفاق روی میدهد به جای این که به صفحهی جدید هدایت شوید با خطای 404 مواجه میشوید.
نکته: گاهی اوقات سرورهای وب (سرویسدهندههای وب) مربوط به خدمات اطلاعات اینترنتی مایکروسافت، با اضافه کردن پسوندِ عددی بعد از 404، اطلاعات تخصصی بیشتری را در مورد علت بروز خطاهای 404 یافت نشد ارائه میکنند، مثلاَ خطای HTTP 404.3- یافت نشد که به این معنا است که در نوع ضمیمههای چندمنظورهی اینترنت، محدودیت وجود داشته است. ما از فهرست کامل این ارقام که به 404 اضافه میشوند به شرح زیر است.
در پیشخوان وردپرستان:
تنظیمات لینکهای یکتا را به “نام نوشته” (post name) تغییر دهید و تنظیمات را ذخیره کنید.
تغییر پیوند یکتا در وردپرس
پس از این مرحله خطای ۴۰۴ را برای لینکهای قدیمی خود دریافت خواهید کرد. برای نمونه نتایج موتورهای جستجو به شما خطای 404 را نشان خواهد و همچنین هر لینکی که به طور خودکار ساخته شده است خطای ۴۰۴ را به همراه دارد.
در این مرحله خطای ۴۰۴ برطرف میشود.
از sftp یا مدیریت فایلِ هاست وردپرس تان برای ویرایش فایل ” htaccess. ” استفاده کنید این فایل در پوشه اصلی وردپرستان قرارداد.
کد مرحله 2 را در این فایل قرار دهید، این کد را دقیقاً پس از عبارت “END WordPress#” قرار دهید و فایل را ذخیره کنید.
در نهایت URLهای مرحله 1 را تست کنید تا مطمئن شوید که سالم هستند و تغییر مسیر به درستی عمل کرده است. همچنین میتوانید همان URLها یا سایت خودتان را در موتورهای جستجو، جست و جو کنید و عملکرد صحیح تغییر مسیر را تماشا کنید.
با کلیک روی این گزینه وردپرس به طور خودکار قوانین های rewrite را بروز رسانی می کند و اقلب مشکل خطا 404 وردپرس نیز رفع می شود اما اگر مشکل شما ادامه داشت شما باید فایل .htaccess به طور دستی به روز رسانی کنید. برای بروز رسانی این فایل وارد فایل منیجر کنترل پنل سرویس هاست خود شوید ( اگر از سی پنل استفاده می کنید حتما پس از کلیک روی گزینه file manager گزینه show hidden and directory را علامت بزنید ) و سپس در پوشه public_html این فایل را پیدا کنید و آن را ویرایش کنید و کد های زیر را به آن اضافه نمایید. اگر این فایل در پوشه public_html شما موجود نیست آن را ایجاد کنید ، و حتما نام آن باید .htaccess باشد.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
[L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] # END WordPress
سپس فایل را ذخیره کنید و بررسی کنید مشکل شما رفع شده است یا خیر ، شما می توانید فایل های .htaccess پوشه های /wp-content/ و /wp-includes/ را نیز در صورت تداوم مشکل تغییر دهید.
بسیاری از توسعه دهندگان وردپرس را در کامپیوتر شخصی خود نصب می کند ، برای رفع مشکل 404 وردپرس باید module rewrite را در wamp یا xampp یا mamp خود فعال کنند ، ما قبلا مقاله رفع مشکل پیوند های یکتا وردپرس در لوکال را ارسال کرده ایم.
امیدواریم مشکل خطا 404 وردپرس شما رفع شده باشد ، آیا راه حل دیگری در مورد این مشکل دارید ؟ لطفا آن را در قسمت دیدگاه های همین صفحه به اشتراک بگذارید تا کاربران با روش های شما مشکل خود را رفع کنند و یک منبع قوی تر برای رفع این مشکل وجود داشته باشد.
مشکل صفحه 404 در ساب فولدر وردپرس معمولا بعد از تغییر پیوند یکتا در وردپرس پیش میاد. دلیل اون هم به این بر میگرده که ممکنه به دلیل ساختار فایل htaccess. که در روت هاست قرار داره یک درگیری با تابع permalink پیش بیاد و منجر به این مسئله بشه که قاعدتا برای رفع این مشکل باید از طریق فایل 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
# 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. که در روت هاست و پوشه ساب فولدر قرار داره ایجاد میشه باعث میشه که دامنه اصلی بالا بیاد و چون پیوند یکتا مطالب وردپرس به صورت سفارشی هستند با خطای 404 در دامنه اصلی مواجه شوید. برای رفع این مشکل باید فایل htaccess. موجود در پوشه را به ساختار جدید تغییر دهید.
برای این منظور وارد هاست خود شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایل در هاست هدایت شوید. سپس وارد پوشهای که وردپرس را در آن نصب کردهاید شده و به دنبال فایل htaccess. بگردید. همونطور که از نقطه اول نام این فایل مشخص هست جزو فایلهای مخفی هاست خواهد بود. بنابراین اگر فایل را پیدا نکردید روی دکمه Settings که در بالای صفحه قرار داره کلیک کرده و سپس مشابه تصویر زیر تیک گزینه Show Hidden Files را فعال کرده و روی دکمه save کلیک کنید.