- بواسطة x32x01 ||
ملف .htaccess ملف نصّي بسيط، بس تأثيره كبير جدًا على الموقع والاستضافة.
تعديل واحد غلط فيه ممكن يوقّف الموقع بالكامل ❌
وتعديل صح ممكن يديك تحكم وأمان وأداء أعلى 💪
الملف ده بيشتغل على سيرفرات Apache، وبيكون مخفي (علشان اسمه يبدأ بنقطة).
📌 استخدم 301 علشان السيو.
📌 مهم علشان محركات البحث متعتبرش الموقعين مختلفين.
غير المسار حسب الصفحة اللي عاملها.
📌 لازم يكون عندك SSL شغال.
📌 تقدر تعمل نفس الكلام من cPanel (Directory Privacy).
📌 يحمي موارد السيرفر.
تعديل واحد غلط فيه ممكن يوقّف الموقع بالكامل ❌
وتعديل صح ممكن يديك تحكم وأمان وأداء أعلى 💪
الملف ده بيشتغل على سيرفرات Apache، وبيكون مخفي (علشان اسمه يبدأ بنقطة).
🤔 ملف .htaccess بيعمل إيه؟
من خلاله تقدر تتحكم في حاجات مهمة زي:- إعادة التوجيه Redirects
- أمان الموقع والاستضافة
- إعدادات السيرفر الخاصة بالموقع
- الروابط الصديقة لمحركات البحث
- إجبار HTTPS
- حماية مجلدات
- حظر IPs
- صفحات أخطاء مخصصة
📂 فين ألاقي ملف .htaccess؟
من cPanel
- ادخل File Manager
- من Settings فعل:
- Show Hidden Files (dotfiles)
- هتلاقي الملف في مجلد الموقع الرئيسي
من FTP (FileZilla)
- اتصل بالسيرفر
- فعل إظهار الملفات المخفية
- نزّل الملف، عدّل عليه، وارفَعه تاني
⚠️ قبل أي تعديل على .htaccess
- اعمل Backup
- متحذفش أي كود إنت مش فاهمه
- لو الموقع وقع:
- غيّر اسم الملف مؤقتًا
- اختبر الموقع
📁 استخدام أكتر من ملف .htaccess
تقدر تحط ملف .htaccess في أي مسار وتطبّق إعدادات خاصة بيه، بس خد بالك:- قلّل عدد الملفات
- كل ملف بيزوّد حمل على السيرفر
- الملفات في المسارات الأعلى ليها أولوية
🔁 إعادة توجيه الروابط Redirects
إعادة توجيه صفحة داخل نفس الموقع (301)
Code:
Redirect 301 /oldfile.htm /newfile.htm إعادة توجيه لدامين تاني
Code:
Redirect 301 /oldfile.htm https://example.net/newfile.htm إعادة توجيه الموقع كله
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.net/$1 [L,R=301,NC] 🔗 إعادة كتابة الروابط (www / non-www)
فرض
Code:
non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC] فرض www
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC] 🚫 إنشاء صفحة 404 مخصصة
صفحة 404 المخصصة بتحسّن تجربة المستخدم وبتقلل معدل الخروج. Code:
ErrorDocument 404 /404.html 🔒 إجبار الموقع على HTTPS
Code:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://example.com/$1 [R=301,L] 🔐 حماية مجلد بكلمة مرور
ملف كلمات المرور (.htpasswd)
احفظه في مسار آمن: Code:
/newfolder/.htpasswd ملف .htaccess داخل المجلد المحمي
Code:
AuthType Basic
AuthName "Members Only"
AuthUserFile /newfolder/.htpasswd
require valid-user 🖼️ منع سرقة الصور (Hotlink Protection)
Code:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example.com/ [NC]
RewriteRule \.(jpg|png|gif)$ - [F] 🏠 تغيير الصفحة الافتراضية (Index)
Code:
DirectoryIndex first.html index.htm index.html index.php ⬇️ إجبار تحميل الملفات بدل عرضها
Code:
AddType application/octet-stream .pdf .mp4 .zip .avi 🚷 حظر IPs أو السماح لـ IPs معينة
حظر IP
Code:
order allow,deny
deny from 192.168.1.1
allow from all السماح لـ IP واحد فقط
Code:
Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx 🛠️ إصلاح أخطاء .htaccess
لو الموقع وقع فجأة:- غيّر اسم الملف مؤقتًا
- جرّب الموقع
- لو اشتغل:
- المشكلة في .htaccess
- رجّع النسخة الاحتياطية
🤨 طالما كل ده ممكن من cPanel… ليه .htaccess؟
علشان:- مش كل الاستضافات فيها cPanel
- هو الجسر بين حسابك وإعدادات Apache المتقدمة
- بيديك تحكم من غير صلاحيات Root
✅ الخلاصة
- .htaccess أداة قوية جدًا
- أي سطر فيه ليه تأثير مباشر
- استخدمه بحذر
- افهم قبل ما تعدّل
التعديل الأخير: