یکی از مشکلاتی که گاهی مدیران سایت با آن روبه‌رو می‌شوند، تغییر ناگهانی فایل htaccess و در ادامه سفید شدن کامل صفحه سایت است. این اتفاق ممکن است حتی زمانی رخ دهد که سطح دسترسی فایل روی 400 تنظیم شده باشد و از نظر منطقی نباید امکان ویرایش آن وجود داشته باشد. برای درک بهتر این مشکل باید چند عامل مهم در سرور و تنظیمات PHP را بررسی کنیم.

دلیل اصلی درج کد در فایل htaccess

در بسیاری از موارد، دلیل اضافه شدن کد به فایل htaccess تغییر نسخه PHP سایت است. برخی سرورها به ویژه سرورهایی که از وب سرور LiteSpeed استفاده می‌کنند، برای تعیین نسخه PHP سایت از طریق همین فایل تنظیماتی را اضافه می‌کنند. این کد در واقع به سرور دستور می‌دهد که سایت شما با نسخه مشخصی از PHP اجرا شود. برای مثال ممکن است سرور کدی اضافه کند که سایت با PHP نسخه 8.3 اجرا شود.

چرا با وجود سطح دسترسی 400 فایل تغییر می‌کند

بسیاری تصور می‌کنند وقتی سطح دسترسی فایل روی 400 قرار دارد، هیچ سیستمی قادر به ویرایش آن نیست. اما این تصور کاملا درست نیست. سطح دسترسی فایل بیشتر برای کاربران عادی و اسکریپت‌های سایت اعمال می‌شود. در مقابل، سیستم‌های مدیریتی سرور به سطح دسترسی ریشه یا همان Root دسترسی دارند.

کنترل پنل‌های هاستینگ مانند cPanel، DirectAdmin یا سیستم CloudLinux زمانی که تنظیمات سرور یا نسخه PHP را مدیریت می‌کنند، می‌توانند این محدودیت را نادیده بگیرند. در چنین شرایطی سرور ممکن است برای هماهنگ‌سازی تنظیمات PHP، فایل htaccess را باز کند، کد مورد نیاز را اضافه یا اصلاح کند و سپس فایل را دوباره ذخیره نماید. به همین دلیل حتی اگر سطح دسترسی فایل 400 باشد، باز هم امکان تغییر آن توسط سیستم سرور وجود دارد.

چرا بعد از این تغییرات صفحه سایت سفید می‌شود

یکی از رایج‌ترین دلایل سفید شدن صفحه سایت، ناسازگاری کدهای سایت با نسخه جدید PHP است. بسیاری از سایت‌های قدیمی با نسخه‌هایی مانند PHP 5.6 یا 7 ساخته شده‌اند. اگر چنین سایتی ناگهان با نسخه جدیدتری مانند PHP 8.3 اجرا شود، احتمال بروز خطا بسیار زیاد است.

در نسخه‌های جدید PHP تعداد زیادی از توابع قدیمی حذف شده‌اند یا نحوه عملکرد آنها تغییر کرده است. زمانی که سایت تلاش می‌کند این توابع قدیمی را اجرا کند، سرور با خطای جدی یا Fatal Error مواجه می‌شود. از آنجا که در بسیاری از هاست‌ها نمایش خطا به دلایل امنیتی غیرفعال است، این خطا به کاربر نمایش داده نمی‌شود و در نتیجه فقط یک صفحه کاملا سفید دیده می‌شود.

چرا سایر سایت‌ها با قالب مشابه دچار این مشکل نمی‌شوند

گاهی مدیران سایت متوجه می‌شوند که سایت‌های دیگرشان با همان قالب بدون مشکل کار می‌کنند اما فقط یک سایت خاص دچار صفحه سفید شده است. در این حالت معمولا مشکل از قالب نیست.

در بسیاری از مواقع یک افزونه قدیمی، ماژول خاص یا کد اختصاصی در آن سایت وجود دارد که در سایر سایت‌ها نصب نشده است. حتی یک افزونه ناسازگار با نسخه PHP جدید می‌تواند باعث توقف کامل اجرای سایت شود. بنابراین تفاوت در افزونه‌ها یا کدهای اختصاصی می‌تواند دلیل اصلی بروز این مشکل در یک سایت خاص باشد.

راه حل رفع مشکل سفید شدن سایت

برای حل این مشکل ابتدا باید نسخه PHP سایت را از طریق کنترل پنل هاست بررسی کنید. وارد پنل هاست خود شوید و به بخش انتخاب نسخه PHP بروید. این بخش معمولا با نام‌هایی مانند MultiPHP Manager یا Select PHP Version در دسترس است.

در این قسمت می‌توانید نسخه PHP مربوط به دامنه خود را تنظیم کنید. اگر سایت شما با نسخه‌های قدیمی ساخته شده است، بهتر است نسخه PHP را موقتا روی 5.6 یا نسخه سازگار با سایت تنظیم کنید تا سایت دوباره به درستی اجرا شود.

در قدم بعدی توصیه می‌شود افزونه‌ها و بخش‌های مختلف سایت را بررسی و بروزرسانی کنید تا با نسخه‌های جدیدتر PHP سازگار شوند. این کار علاوه بر جلوگیری از بروز خطا، امنیت سایت شما را نیز افزایش می‌دهد.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *