تشغيل PHP داخل ملفات .html
اجعل الخادم ينفّذ PHP في الملفات ذات الامتداد .html أو .htm، باستخدام المعالج الصحيح لإعداد LiteSpeed في WebGee.
اجعل ملفات .html و.htm تنفّذ PHP. ينطبق على الاستضافة المشتركة والموزِّعة
والمميّزة.
ويُحتاج هذا عادةً عند إضافة نموذج تواصل إلى موقع ثابت قائم لا تريد تغيير روابطه.
فكّر إن كنت تحتاج هذا. فإعادة تسمية الملف إلى .php مع إضافة إعادة توجيه من
الرابط القديم تُبقي المعالج الافتراضي وهي شيء أقل للصيانة. وهذا هو الجواب
الصحيح حين يتعذّر تغيير الرابط فعلًا.
القاعدة التي تستخدمها
تعمل خوادم WebGee بـ LiteSpeed مع CloudLinux، فهذا هو المعالج المنطبق. أنشئ
.htaccess في جذرك المستنَدي أو حرّره وأضف:
AddHandler application/x-httpd-lsphp .html .htmاحفظ. ويسري فورًا.
تأكّد أنه نجح
أنشئ test.html في جذرك المستنَدي:
<?php echo "PHP is running in .html files"; ?>زر https://example.com/test.html. وينبغي أن ترى الجملة. فإن رأيت كود PHP خامًا
بدلًا منها، فالمعالج غير مطبَّق.
واحذف test.html بعد ذلك.
إن لم ينجح
يقترح التوثيق الأقدم ما يلي، وهو ينطبق على Apache بمعالجات PHP مختلفة وليس ما تشغّله WebGee:
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .htmlجرّب ذلك فقط إن لم يفعل معالج LiteSpeed أعلاه شيئًا. فإن لم ينجح أي منهما، فافتح تذكرة بدل تكديس قواعد أخرى — فالمعالجات المتعارضة تنتج خطأ 500 أصعب في التشخيص من المشكلة الأصلية.
وقد تحتاج كذلك صلاحيات 644 على الملفات المعنيّة؛ فـ 755 مطلوبة للمجلدات فقط.
ماذا يكلّفك هذا
صار كل ملف .html في الموقع يُحلَّل بواسطة PHP، بما في ذلك الملفات الثابتة
تمامًا. وذلك أبطأ من تقديمها مباشرة ويمنع تخزينها مؤقتًا بالكفاءة نفسها. طبّقه
على مجلد بعينه لا على الموقع كله حيثما أمكن، بوضع .htaccess في ذلك المجلد
بدلًا من الجذر.