۴۰۳ یعنی سرور درخواست را فهمیده ولی اجازه‌ی دادن جواب ندارد. چهار علت رایج دارد: سطح دسترسی اشتباه فایل یا پوشه، یک قانون در htaccess، نبودن فایل index در پوشه، و مسدود بودن آی‌پی شما. مقدار درست سطح دسترسی تقریباً همیشه همین است: ۷۵۵ برای پوشه‌ها و ۶۴۴ برای فایل‌ها. ۷۷۷ هیچ‌وقت جواب درست نیست.

اعداد پرمیشن یعنی چه؟

هر فایل سه گروه دسترسی دارد: مالک، گروه و بقیه. هر عدد جمع این سه است: خواندن ۴، نوشتن ۲، اجرا ۱.

عدد مالک گروه بقیه کاربرد
644 خواندن و نوشتن خواندن خواندن فایل‌های معمولی: php، html، تصویر
755 همه خواندن و اجرا خواندن و اجرا پوشه‌ها
۶۰۰ یا ۶۴۰ خواندن و نوشتن هیچ یا خواندن هیچ فایل‌های حساس مثل wp-config.php
750 همه خواندن و اجرا هیچ پوشه‌ی public_html
777 همه همه همه هیچ‌جا؛ هر کسی روی سرور می‌تواند فایل را عوض کند
000 هیچ هیچ هیچ معمولاً کار اسکنر امنیتی است؛ فایل قرنطینه شده

برای پوشه، «اجرا» یعنی اجازه‌ی وارد شدن به آن. پوشه‌ای که ۶۴۴ باشد قابل باز شدن نیست و ۴۰۳ می‌دهد.

تغییر در File Manager

  1. در سی‌پنل File Manager را باز کنید و به پوشه‌ی سایت بروید.
  2. ستون آخر (Permissions) عدد فعلی را نشان می‌دهد.
  3. روی فایل یا پوشه راست‌کلیک و Change Permissions را بزنید، یا روی همان عدد دوبار کلیک کنید و مقدار تازه را بنویسید.
محیط File Manager سی‌پنل با نوار ابزار، درخت پوشه‌ها و ستون Permissions
ستون Permissions در File Manager سطح دسترسی هر فایل و پوشه را نشان می‌دهد

(راهنمای کامل File Manager)

علت‌های ۴۰۳، به ترتیب احتمال

نشانه علت راه
کل سایت ۴۰۳ می‌دهد، بعد از جابه‌جایی یا آپلود پرمیشن پوشه‌ها اشتباه است پوشه‌ها ۷۵۵، فایل‌ها ۶۴۴
فقط آدرس یک پوشه ۴۰۳ می‌دهد فایل index ندارد و فهرست‌گیری خاموش است عادی است؛ فایل index بگذارید (Index of و صفحه‌ی پیش‌فرض)
بعد از ویرایش htaccess شروع شد خط Deny from all یا قانون اشتباه فایل را موقتاً تغییر نام دهید و تست کنید
فقط برای شما ۴۰۳ می‌دهد آی‌پی شما در IP Blocker یا دیوار آتش است با اینترنت دیگر تست کنید (IP Blocker)
فقط هنگام ذخیره‌ی فرم یا نوشته فایروال برنامه‌ی وب درخواست را مشکوک دیده متن خطا و ساعت را در تیکت بفرستید
فقط تصاویر، وقتی در سایت دیگری گذاشته شده‌اند Hotlink Protection (تنظیم هات‌لینک)
پرمیشن فایل ۰۰۰ شده اسکنر امنیتی آن را آلوده تشخیص داده فایل را بررسی یا با نسخه‌ی سالم جایگزین کنید

تست سریع htaccess

در File Manager نمایش فایل‌های مخفی را روشن کنید، فایل .htaccess پوشه‌ی سایت را به .htaccess-old تغییر نام دهید و سایت را باز کنید. اگر ۴۰۳ رفت، مشکل از همان فایل است. در وردپرس با رفتن به تنظیمات پیوندهای یکتا و زدن ذخیره، فایل تازه ساخته می‌شود. (نمایش فایل‌های مخفی)

چرا ۷۷۷ جواب نیست؟

وقتی چیزی کار نمی‌کند، وسوسه‌ی ۷۷۷ زیاد است و گاهی هم ظاهراً جواب می‌دهد. ولی یعنی هر پردازشی روی سرور می‌تواند آن فایل را تغییر دهد؛ دقیقاً همان چیزی که بدافزار لازم دارد. بعضی تنظیمات سرور هم فایل PHP با دسترسی ۷۷۷ را اصلاً اجرا نمی‌کنند و خطای ۵۰۰ می‌دهند. اگر افزونه‌ای ۷۷۷ می‌خواهد، مشکل جای دیگری است، معمولاً مالکیت فایل.

لاگ خطا

اگر علت پیدا نشد، در سی‌پنل Errors را باز کنید. خط مربوط به ۴۰۳ معمولاً دلیل را می‌گوید، مثلاً client denied by server configuration یا Permission denied. (خواندن لاگ خطا)

سوال‌های رایج

می‌شود پرمیشن همه‌ی فایل‌ها را یک‌جا درست کرد؟

File Manager تغییر گروهی را فقط برای فایل‌های انتخاب‌شده‌ی یک پوشه انجام می‌دهد، نه زیرپوشه‌ها. اگر کل سایت به‌هم ریخته، تیکت بزنید تا از سمت سرور اصلاح شود.

۴۰۳ با ۴۰۴ چه فرقی دارد؟

۴۰۴ یعنی چنین آدرسی وجود ندارد. ۴۰۳ یعنی وجود دارد ولی اجازه‌ی دیدنش نیست.

پنل مدیریت وردپرس ۴۰۳ می‌دهد ولی خود سایت باز است.

معمولاً افزونه‌ی امنیتی یا قانونی در htaccess که دسترسی wp-admin را به آی‌پی خاصی محدود کرده، یا رمز پوشه. (رمز پوشه)