همانطور که ممکن است بدانید، افزونه W3 Total Cache یک افزونه قابل تنظیم برای کش وردپرس است که بسیار عالی می باشد .
افزونه W3 Total Cache برای هر صفحه ای که بارگذاری می شود، صفحات کش ثابت ایجاد می کند،
بنابراین برای هر دفعه بارگذاری صفحه به صورت پویا انجام نمی شود.
این امر زمان بارگذاری سایت شما را به شدت کاهش می دهد و در عین حال عملکرد سایت وردپرسی شما را افزایش می دهد.
اگر شما یک کاربر افزونه W3 Total Cache هستید، یا قصد دارید به یکی از کاربران آن تبدیل شوید باید به این نکته توجه داشته باشید که ممکن است با خطای 500 (خطای سرور داخلی) مواجه شوید.
البته ممکن است بیش از یک دلیل وجود داشته باشد که شما با خطای 500 مواجه شده اید،
با این حال، در زیر نحوه تشخیص خطای رایج W3 Total Cache که توسط کاربران وردپرس تجربه میشود، و مهمتر از آن نحوه رفع آن را تشریح کردهایم.
شما باید بتوانید به سرعت تشخیص دهید که دلیل خطای سرور داخلی 500 عملکرد این افزونه است یا خیر.
اولین کاری که باید انجام دهید این است که فایل htaccess. خود را بررسی کنید تا ببینید آیا افزونه W3 Total Cache کد htaccess. خود را به انتهای کد های موجود اضافه کرده است یا خیر.
بنابراین، برای مثال، ممکن است کد های .htaccess به صورت زیر باشد:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule># BEGIN W3TC Browser Cache <IfModule mod_deflate.c> <IfModule mod_setenvif.c> BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html </IfModule>
به بخشی که حاوی کد زیر است توجه کنید:
</IfModule># BEGIN W3TC Browser Cache
این در واقع همان چیزی است که باعث ایجاد مشکل می شود. “# BEGIN W3TC Browser Cache”
این کد باید در خط خودش باشد.
اما راه حل آن چیست؟
راه حل بسیار ساده است فقط باید کلید Enter را قبل از # بزنید و فایل را ذخیره کنید و صفحه را دوباره بارگذاری کنید.
اما چرا از ابتدا این اتفاق افتاد؟
نصب های معمولی وردپرس، نصب با Softaculous یا نصب دستی، فایل .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
افزونه W3 Total Cache ظاهراً به دنبال اولین خط کد (# BEGIN WordPress) است،
و بنابراین این افزونه میداند که قبل از آن کد خود را اضافه کند.
با این حال، اگر فایلهای htaccess. با حذف آن خطوط (به ویژه آن خط اول) اصلاح شده باشد،
افزونه W3 Total Cache نمیداند چه کاری را باید انجام دهد.
لذا افزونه W3 Total Cache کد های خود را به آخرین خط موجود اضافه می کند.
اگر خط # END وردپرس را در فایل .htaccess دارید، مشکلی نیست، W3 Total Cache فقط کد خود را در مقابل کامنت وردپرس اضافه میکند و بر سرور آپاچی تأثیری نخواهد گذاشت.
اگر کامنتی وجود نداشته باشد و خط شکسته نشود، این مشکل رخ می دهد.
سرور آپاچی از کار می افتد و خطای 500 را ایجاد می کند زیرا W3 Total Cache به اخر بسته شدن تگ اضافه می شود.
آیا از چند سایت وردپرس استفاده می کنید ؟
لطفاً توجه داشته باشید که کد بازنویسی وردپرس در نصب چند سایتی به هیچ وجه مانند نصب استاندارد شامل این خطوط کامنت نمی شود.
این بدان معناست که W3 Total Cache در نصب چند سایتی به احتمال زیاد با خطا همراه خواهد شد.
با این حال، اگر کد ها را همانطور که در بالا ذکر شد اضافه کنید در واقع فقط کد( BEGIN) مورد نیاز است با این حال اگر با خواندن این مطلب گیج شدید و اشنایی با کد نویسی ندارید میتوانید روی کمک پشتیبان های سرور ابری هایو حساب کنید.