• 0

كيف أزيل الامتداد .php من ملفات الموقع؟

ارغب في ازالة الامتداد الخاص ب php من اسماء الملفات الموجودة بالموقع ليظهر للمستخدم بهذا الشكل http://www.site.com/home بدلا من http://www.site.com/home.php

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هذا يفعله ملف .htaccess وهذ الملف يقوم بعمل رائع ومن اهم مميزاته حماية الموقع من الاختراق بدرجة كبيره
وبما انه المسئول عن تغير المسارات مثل home.php إلى home فهذا في حد ذاته طريقة لحماية الملفات والتضليل على أسماء الملفات الحقيقية.
قم بإنشاء ملف بنفس هذا الاسم في مجلد مشروعك على الخادم هكذا:

.htaccess

ثم قم بتحرير الملف واكتب به الأتي:

RewriteEngine On
# Remove file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]

اﻵن قم بحفظ الملف.
لنشرح ماذا سيقوم بفعله هذا الملف بمجرد كتابة تلك الأوامر به.
أولاً
"RewriteEngine On" هذا الأمر يعني تفعيل محرك إعادة التوجيه.

ثانياَ
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond

تعني (شرط إعادة التوجيه)
وهذا هو الشرط

%{REQUEST_FILENAME} !-d

الشرط يقول في حال طلب تصفح مجلد غير موجود او غير صحيح بأي حال من اﻷحوال وعلامة !-d تعني النفي اي إذا لم يتم التحقق من وجود المجلد فهذا شرط.

ثالثاً
RewriteCond %{REQUEST_FILENAME} !-f
هذا أيضاً شرط ولكن يختلف عن الشرط السابق بحرف واحد فقط وهو f الذي يعني بالملف بعكس السابق كان حرف d وكان يعني بالمجلد


رابعاً
RewriteRule (.*) $1.php [L]
وأخيراً إعادة توجيه أي رابط.
وفي هذه العملية سيتم أخذ الرابط ووضع بآخره .php وسيتم جلب بيانات الملف التي يستخرجها بدون كتابة .php في تصفح ملفات الموقع.

الآن قم بإعادة تشغيل الخادم المحلي localhost او إعادة تشغيل الحاسوب.

إذا واجهتك أي مشكله من فضلك راجع هذا المصدر: stackoverflow

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن