خطای ۴۰۳ یعنی سرور درخواست شما را فهمیده ولی اجازه دسترسی به آن صفحه را نمیدهد. کاربران ایرانی معمولا در دو جا با آن روبهرو میشوند: صفحه خطای خود گوگل با متن «۴۰۳. این یک خطا است. کلاینت شما اجازه دریافت URL از این سرور را ندارد» و خطای «۴۰۳ Forbidden» روی سایت وردپرسی خودشان. علت و راهحل این دو کاملا متفاوت است و در این مقاله هر دو را جدا بررسی میکنیم.
خطای ۴۰۳ چیست؟
کد ۴۰۳ (Forbidden) یکی از کدهای وضعیت HTTP است و میگوید سرور در دسترس است و آدرس را هم پیدا کرده، اما به درخواست کننده اجازه دیدن آن را نمیدهد. این با دو خطای رایج دیگر فرق دارد:
| کد | معنی | مثال |
|---|---|---|
| ۴۰۱ | باید وارد حساب شوید | صفحهای که بدون ورود به حساب باز نمیشود |
| ۴۰۳ | دسترسی ممنوع است، حتی با ورود | محدودیت IP، دسترسی فایل یا قانون فایروال |
| ۴۰۴ | صفحه وجود ندارد | آدرس اشتباه یا صفحه حذفشده |
«کلاینت شما اجازه دریافت URL از این سرور را ندارد» یعنی چه؟
این متن ترجمه صفحه خطای ۴۰۳ گوگل است. نسخه انگلیسی آن این است:
403. That’s an error. Your client does not have permission to get URL / from this server. That’s all we know.
این صفحه را گوگل نشان میدهد، نه سایت یا اینترنت شما. یعنی سرورهای گوگل درخواست شما را رد کردهاند. رایجترین علتها اینهاست:
- محدودیت منطقهای: بعضی سرویسهای گوگل، مثل Google Cloud، Firebase، کنسولهای توسعهدهنده و برخی محصولات هوش مصنوعی، برای کاربرانی که از IP ایران وصل میشوند در دسترس نیستند و گوگل بهجای آنها همین صفحه ۴۰۳ را نشان میدهد.
- IP مشکوک: اگر از IP شما یا IP مشترک اپراتورتان درخواستهای خودکار زیادی به گوگل رفته باشد، گوگل ممکن است موقتا دسترسی را ببندد.
- آدرس نادرست یا خصوصی: لینک ناقص، لینک منقضیشده یا فایلی در Google Drive که با شما به اشتراک گذاشته نشده، همین خطا را میدهد.
- مشکل مرورگر: کوکیهای قدیمی، افزونههای مرورگر یا تنظیمات پراکسی هم گاهی باعث این خطا میشوند.
برای رفع آن چه کار کنیم؟
- صفحه را در پنجره خصوصی (Incognito) مرورگر باز کنید تا اثر کوکیها و افزونهها حذف شود.
- کش و کوکیهای مرورگر را برای دامنههای گوگل پاک کنید.
- افزونههای مرورگر، بهخصوص افزونههای پراکسی و مسدودکننده تبلیغات، را موقتا غیرفعال کنید.
- آدرس را دوباره بررسی کنید؛ اگر فایل Google Drive است، از صاحب آن بخواهید دسترسی را دوباره بدهد.
- صفحه را با اینترنت دیگری، مثلا اینترنت همراه، امتحان کنید تا معلوم شود مشکل از IP فعلی شماست یا نه.
اگر علت محدودیت منطقهای باشد، این خطا از سمت گوگل است و با تنظیمات مرورگر، اپراتور اینترنت یا هاست سایت برطرف نمیشود.
اگر سرور سایت شما این خطا را میگیرد
همین خطا ممکن است در سمت سرور هم رخ دهد: سایتی که روی سرور داخل ایران میزبانی میشود و از سمت سرور به سرویسهایی مثل Firebase یا APIهای گوگل درخواست میفرستد، ممکن است پاسخ ۴۰۳ بگیرد. برای پروژههایی که به این سرویسها وابستهاند، میزبانی روی سرور خارج از ایران، مثل هاست لینوکس آلمان، انتخاب رایجی است. مقایسه کامل را در مقاله هاست ایران یا خارج؟ ببینید.
رفع خطای ۴۰۳ Forbidden در وردپرس
روی سایت وردپرسی، خطای ۴۰۳ معمولا با یکی از این متنها دیده میشود:
403 Forbidden – You don’t have permission to access / on this server.
این بار مشکل از سرور یا فایلهای خود سایت است و تقریبا همیشه با یکی از روشهای زیر حل میشود. پیش از هر تغییر، از فایلها و دیتابیس سایت یک نسخه پشتیبان بگیرید.
۱. افزونه امنیتی یا افزونه معیوب
افزونههای امنیتی مثل Wordfence گاهی IP خود شما یا یک مسیر عادی سایت را مسدود میکنند. اگر به پیشخوان وردپرس دسترسی ندارید، از File Manager در cPanel یا با FTP نام پوشه wp-content/plugins را موقتا به plugins-off تغییر دهید. اگر خطا برطرف شد، نام پوشه را برگردانید و افزونهها را یکییکی فعال کنید تا افزونه مقصر پیدا شود.
۲. فایل .htaccess خراب
فایل .htaccess در پوشه اصلی سایت را دانلود کنید تا نسخه پشتیبان داشته باشید، بعد نام آن را روی سرور به .htaccess-old تغییر دهید. اگر سایت باز شد، از پیشخوان وردپرس به تنظیمات، پیوندهای یکتا بروید و بدون تغییر روی «ذخیره تغییرات» بزنید تا وردپرس فایل جدید و سالم بسازد. محتوای پیشفرض آن این است:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress۳. دسترسی نادرست فایلها و پوشهها
اگر دسترسی (Permission) فایلها بیش از حد محدود باشد، وبسرور نمیتواند آنها را بخواند و خطای ۴۰۳ میدهد. مقدار درست برای وردپرس این است:
- پوشهها:
755 - فایلها:
644 - فایل
wp-config.php:640یا600
این مقدارها را میتوانید در File Manager سیپنل با گزینه Change Permissions تنظیم کنید.
۴. نبودن فایل index
اگر در پوشه اصلی سایت فایل index.php یا index.html نباشد و نمایش فهرست فایلها هم غیرفعال باشد، سرور خطای ۴۰۳ میدهد. این وضعیت معمولا بعد از آپلود ناقص یا انتقال نیمهکاره سایت پیش میآید.
۵. مسدود شدن IP توسط فایروال
فایروال سرور یا شبکه، مثل ModSecurity، Imunify360 یا قانونهای Cloudflare، ممکن است IP شما را بهخاطر چند تلاش ناموفق برای ورود یا یک درخواست مشکوک مسدود کند. اگر سایت از اینترنت دیگری باز میشود ولی از اینترنت فعلی نه، IP خود را با ابزار آدرس IP من پیدا کنید و برای پشتیبانی هاست بفرستید تا بررسی و رفع مسدودی شود.
چکلیست سریع رفع خطای ۴۰۳
- صفحه گوگل است یا سایت خودتان؟ اگر گوگل است، بخش اول این مقاله را دنبال کنید.
- در پنجره خصوصی مرورگر و با اینترنت دیگری امتحان کنید.
- افزونههای وردپرس را با تغییر نام پوشه plugins غیرفعال کنید.
- فایل .htaccess را بازسازی کنید.
- دسترسی پوشهها را ۷۵۵ و فایلها را ۶۴۴ کنید.
- وجود فایل index در پوشه اصلی را بررسی کنید.
- اگر فقط از یک اینترنت خطا میگیرید، IP را برای پشتیبانی هاست بفرستید.
پرسشهای متداول
خطای ۴۰۳ با ۴۰۴ چه فرقی دارد؟
در ۴۰۴ صفحه وجود ندارد، ولی در ۴۰۳ صفحه وجود دارد و سرور اجازه دیدن آن را نمیدهد.
آیا خطای ۴۰۳ گوگل با پاک کردن کش رفع میشود؟
اگر علت کوکی یا افزونه مرورگر باشد، بله. اگر علت محدودیت منطقهای سرویس گوگل باشد، نه؛ این محدودیت از سمت گوگل اعمال میشود.
چرا سایت وردپرسی من فقط برای خودم ۴۰۳ میدهد؟
به احتمال زیاد IP شما توسط افزونه امنیتی یا فایروال سرور مسدود شده است. با اینترنت دیگری امتحان کنید و IP خود را برای پشتیبانی هاست بفرستید.
آیا خطای ۴۰۳ روی سئو اثر دارد؟
بله. اگر ربات گوگل هنگام خزیدن صفحهها خطای ۴۰۳ بگیرد، آن صفحهها از نتایج حذف میشوند. به همین دلیل باید قانونهای فایروال را طوری تنظیم کرد که رباتهای معتبر موتورهای جستجو مسدود نشوند.
هاست وردپرس پویاسازان روی LiteSpeed اجرا میشود و سرورها Imunify360 دارند. اگر روی هاست پویاسازان با این خطا روبهرو شدید، از طریق تیکت IP و آدرس صفحه را بفرستید تا تیم فنی بررسی کند. برای آشنایی بیشتر با هاست، مقاله هاست چیست؟ را بخوانید.
