شكراً لك ، واصل.
اجعل رابط موقعك قصير ونظيف باستخدام ملف .htaccess - مقال #3
طيب، إذا كان صفحة اليوز تحتوي على صور في مجلد بهذا الشكل:
user.php
images
والصفحة تظهر بها الصورة بهذا الكود:
وأنت دخلت على user=username بهذا الشكل : user/username
يعني أصبحت روابط محلية مثل الصور كلها في مجلد داخل المجلد الحالي باسم : user/
كيف نتصرف بحيث تظهر الصور وغيرها من ملفات التصميم في المجلدات المحلية صحيحة؟
بسيطة, على سبيل المثال انا لدي صفحة البروفايل وهي بهذا الشكل:
localhost/sham/user/hussam
ان اريد ان استدعي ملفات المظهر ان كان الرابط على هذا الشكل:
localhost/sham/user.php?user=hussam
سوف استدعي الملفات بهذه الطريقة.
<link href="assets/css/style.css" rel="stylesheet">
وان كان الرابط على هذا الشكل:
localhost/sham/user/hussam
استدعي المفات بهذا الطريقة:
<link href="../assets/css/style.css" rel="stylesheet">
او هناك طريقة اخرى قم بتخزين رابط الموقع في قاعدة البيانات او ملف config او في اي مكان اخر وقم بستدعاء الرابط وبعده المسار
مثال:
<link href="<?=SITE_URL; ?>assets/css/style.css" rel="stylesheet">
ولاكن هذه الطريقة لا تنفع ان كان الموقع في مجلد فرعي
مثلا رابط الموقع على هذا الشكل :
localhost/Git/Prize
ان استخدمت هذه الطريقة سوف يصبح الرابط على الشكل التالي:
localhost/assets/css/style.css
ولن يجلب ملف style
لماذا يتم استدعاء المجلد على شكل ملف فرعي ؟
يمكن إستخدام البورت الخاص بالـ localhost
مثلاً الموقع الذي في ردي سابق يكون :
localhost:4000/user/hussam
-
والذي كتبته في ردك :
localhost:5000/Prize
-
بهذه الطريقة لن تحتاج لإستخدام اسم الملف الفرعي في الرابط ، وأيضاً لن تكون بحاجة لتعقيد أمر جلب الملفات .
أ.حسام .. عند استخدام .htaccess .. تعمل الروابط النظيفه ولكن عند تحديث الصفحه أو الإنتقال من صفحه إلى أخرى يعود الرابط كما كان من قبل .. علماً اني اعلى الخادم المحلي .. هل هناك مشكلة ما ..؟
RewriteEngine On
RewriteBase /
RewriteRule ^(.)-f([0-9])/mcp.php(.*) mcp.php?%{QUERY_STRING} [L,R=301]
RewriteRule ^(.)-f([0-9])/(.)-t([0-9])-s([0-9]*).html viewtopic.php?f=$2&t=$4&start=$5&%{QUERY_STRING} [L]
RewriteRule ^(.)-f([0-9])/(.)-t([0-9]).html viewtopic.php?f=$2&t=$4&%{QUERY_STRING} [L]
RewriteRule ^(.)-f([0-9])/index-s([0-9]*).html viewforum.php?f=$2&start=$3&%{QUERY_STRING} [L]
RewriteRule ^(.)-f([0-9])/ viewforum.php?f=$2&%{QUERY_STRING} [L]
RewriteRule ^(.)-f([0-9]) viewforum.php?f=$2&%{QUERY_STRING} [L]
لدي الكود السابق في الاباتشي
لكنه لا يدعم العربية في الروابط منتدي phpbb
التعليقات