در مواقعی که صفحۀ اصلی سایت خود را باز می کنید و خطای 403 داده می شود، بدین دلیل است که شما در مسیر ریشۀ هاست خود (پوشۀ public_html) چیزی نریخته اید. یا سندی با عناوین index.htm یا index.php یا کلاً سند index وجود ندارد.
این نوع تنظیم بدین دلیل انجام شده است که امنیت سایت شما افزایش پیدا کند. از آنجایی که اگر در مسیری سند index وجود نداشته باشد، کل محتویات آن مسیر درون مرورگر کاربر نشان داده می شود، همین امر می تواند یک خطر امنیتی تلقی شود. به همین دلیل سرورهای وبنولوگ طوری تنظیم شدند که خطای 403 را در این شرایط برگردانند.
بنابراین برای حل این مشکل، به راحتی اسکریپت، نرم افزار سایت ساز، یا اسناد سایت خود را روی فضای میزبانی که بارگذاری کنید، این خطا خود به خود حل خواهد شد. پس خطای 403 روی هاست های وبنولوگ چندان بحرانی نیستند و نگران کننده نیستند.
اما به طور کلی خطای 403 به معنی دسترسی غیرمجاز است که وب سرور به بازدید کنندۀ سایت بر می گرداند. حالا اگر مواردی که در بالا گفته شد را رعایت کردید و باز هم خطای 403 در جایی از سایت نمایش داده شد، باید چند تا مسیر را بررسی کنید:
- کدهای موجود در سند .htaccess
- عدم وجود جواز دسترسی یا permission لازم برای یک فایل یا پوشه
- مالکیت یا ownership اشتباه برای یک فایل یا پوشه
مورد اول که مستقیم به کدهای موجود در سند .htacees بر میگردد. ممکن است افزونهای روی سایت شما کدی را به این سند اضافه کرده باشد که حکم یک سپر امنیتی داشته باشد. ممکن هم هست که این کد به واسطهٔ شما به اشتباه اضافه شده باشد. به هر حال باید بررسی دقیقی انجام دهید که بهترین کار غیرفعال کردن موقتی این سند، با تغییر نام آن به یک فایل دیگر است. این کار را باید از طریق File Manager انجام دهید.
دقت داشته باشید که سند .htaccess میتواند روی ریشهٔ هاست و یا حتی یک پلهٔ بالاتر، یعنی پوشهٔ بالاتر، یا پوشههای درونیتر File Manger هاست شما هم وجود داشته باشد. پس باید تمامی مسیر را بررسی نمایید. در ضمن این سند به علت وجود نقطه در ابتدای نام آن، به صورت مخفی است. پس حتما باید نمایش محتویات مخفی را در File Manager فعال نمایید.
مورد دوم تنظیم اشتباه Permission است که در لینوکس ما به هر شیء میتوانیم یک جواز دسترسی بدهیم که اجازه میدهد تا کاربران یا نرم افزارهای خاصی بتوانند به آن سند و محتویات آن دسترسی داشته باشند یا نداشته باشند. در File Manager به صورت مستقیم میتوان Permission را تنظیم نمود. اگر این جواز عدد ۰۰۰ باشد، به این معنا است که هیچ کاربر یا نرم افزاری روی سرور قادر به دستیابی یا ایجاد تغییرات روی این سند نیست. پس طبیعی است وبسرور هم نتواند آن را پردازش کند و خطای 403 برگرداند.
بررسی این مورد بر عهدهٔ شماست که ببنیید آیا جواز دسترسی روی فایل مورد نظر، که به یک صفحهٔ خاصی از سایت اشاره می کنید، درست تنظیم شده است یا خیر. معمولا روی لینوکس جواز دسترسی فایلها باید 644 و پوشهها 755 باشد. البته استثناهای هم وجود دارد.
و مورد آخر همان مالکیت سند یا پوشهای است که ریشهٔ صفحهای است که خطای 403 میدهد. به طور معمول وقتی که شما وارد اکانت سی پنل خود میشوید، هر فایلی که روی آن اکانت ساخته میشود باید با مالکیت شما باشد و در این رابطه مشکلی وجود ندارد. اما اگر بنا به اتفاق یا وجود یک مشکل خاص، از طرف کاربر سطح بالاتر، مثل کاربر root، تغییری روی مالکیت اسناد روی فضای میزبانی شما ایجاد شود، ممکن است که وب سرور خطای 403 را در مواقعی که قصد پردازش ان سند را دارد برگرداند.
اگر دسترسی شما در حد یک کاربر معمولی است، شاید تغییر مالکیت برای شما مقدور نباشد. مثلا مالکیت یک سند php در اختیار کاربر root است و وبسرور قادر به اجرای آن نیست. در چنین مواقعی اگر تمامی مراحل را بررسی کردید و شک کردید که آیا این عامل میتواند دلیل مشکل شما باشد، باید با پشتیبان هاست خود تماس بگیرید. اگر هم دسترسی ریشه یا root به سرور دارید باید با استفاده از دستور chown مالکیت فایلها یا پوشههای مشکلدار را تغییر دهید.
اما به طور کلی بیشترین دلیل بروز خطای 403 روی سایت شما، ابتدا به دلیل عدم وجود فایل index و سپس وجود کدی مثل کد deny from all درون سند .htaccess روی هاست شماست. افزونهها و یا کدهای سفارشی سایتتان هم علت مهمی میتواند باشد.