عناوين نظيفة بأقل جهد
السلام عليكم،
تدوينة اليوم قصيرة ولكن مفيدة، سنقوم ببعض التعديلات للحصول على عناوين نظيفة، ليس بشكل كامل ولكن بشكل جزئي.
أولاً يجب أن يكون مخدمك يدعم وحدة (mod_rewrite) وللتأكد اذهب إلى ملف httpd.conf وابحث عن السطر:
LoadModule rewrite_module modules/mod_rewrite.so
إذا كانت قبله علامة # فأزلها وأعد تشغيل الأباتشي.
الآن أنشىء مجلداً لهذا المشروع الصغير وداخله أنشىء ملف سمه file name: .htaccess لاحظ النقطة قبل اسم الملف فهي ضرورية واسم الملف أيضاً ضروري فلاتغيره.
الآن حرر هذا الملف واكتب داخله:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
</IfModule>
احفظ التغييرات وأنشىء ملف جديد سمه welcome.php واكتب داخله:
echo 'Nice URLs are working on my machine';
الآن اطلب مسار هذا الملف ولكن دون أن تضع .php مثلاً:
http://localhost/cleanurl/welcome
سترى الآن عبارة:
Nice URLs are working on my machine
من قبل كنا لانستطيع طلب الصفحة إلا بوضع .php ولكن الآن مع الاستعانة بال mod_rewrite استطعنا عمل ذلك وإليكم الشرح:
RewriteEngine On: هذا السطر يقوم بتشغيل mod_rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
هذين السطرين يخبرا المخدم بأن لايقوم بأي تغيير لاسم الملف أو المجلد حتى لاتتأثر الملفات والمجلدات بالتغيير فنحن نريد فقط تغيير اللواحق.
RewriteRule ^(.*)$ $1.php [L,QSA]: وهذا السطر نخبر فيه المخدم بأن يقوم باستئناء اللاحقة مهما كانت * تشير إلى أي لاحقة (html, php).
أتمنى أن يكون هذا الدرس السريع مفيداً لكم في مشاريعكم القادمة، وإذا أعجبتكم الفكرة فربما نكملها للحصول على عناوين نظيفة من الشكل:
http://mysite.com/1
بدلاً من:
http://mysite.com/index?id=1
أي عناوين نظيفة بشكل كامل ولكل المسارات.












معلومة مفيده جداً!
لا أخفيك أني كنت أبحث عنها من مدة ..
شكراً جزيلاً
السلام عليكم ورحمة الله تعالى وبركاته..
رائع يا بطل ^_^
طبعا أعجبتنا الفكرة، وننتظر الحصص القادمة من نظافة الروابط بكل شوق ^_^
اختيار موفق كما عهدناك أخي الكريم خالد، فجزاك الله عنا كل خير..
مني لك أرق تحية..
@أبو ريناز: يامرحباً بك
@عبد الهادي: وعليكم السلام ورحمة الله وبركاته، يسعدني أنه أعجبك وإن شاء الله سأكملها
أكيد في انتظار البقية
الدرس مفيد جدا
بارك الله فيك
أهلاً بك وإن شاء الله نكمل فيها للحصول على تطبيق بعناوين نظيفة
طريقة كود_إجنتر (إطار العمل) أعجبتني
،
بلاحاجة لmod_rewrite
صحيح أن هذه الطريقة تبدو أجمل، لكن تلك أأمن ^^،
صحيح، ولكن لماذا أامن؟ يمكن تقصد أكثر توافقية لأنها تعمل مع المخدمات التي لاتدعم mod_rewrite
أجل يا خالد ^^
.
.
إحسبها خطأ إملائي، كان القصد منها أنه توفر عليك تعب، وتضمن أنها تعمل دوماً. لأن ملفات .htaccess حساسة جداً وأقل خطأ يجعل الموقع يتوقف
وتبقى كل طريقة ومميزاتها
السلام عليكم و رحمة الله تعالى و بركاته
معلومة مفيدة جدا بارك الله فيك
لكن عندي سؤال:
لما اردت تطبيقها لم اجد ملف httpd.conf؟ هل لك ان تعطيني مزيد من المعلومات حول مكان تواجده؟
تجده في مجلد Apache واستخدم خاصية البحث في نظام تشغيلك للبحث عن الملف بسهولة.