Htaccess Reference
```wiki
ملف htaccess: مرجع شامل للمبتدئين
ملف `.htaccess` (اختصار لـ Hypertext Access) هو ملف تكوين يستخدم في خوادم الويب Apache. يسمح لك بتعديل إعدادات الخادم لكل دليل على موقع الويب الخاص بك، دون الحاجة إلى تعديل ملف التكوين الرئيسي للخادم (httpd.conf). هذا يوفر مرونة كبيرة، خاصة في بيئات الاستضافة المشتركة حيث لا يكون لديك حق الوصول إلى ملف التكوين الرئيسي. هذا المقال مصمم للمبتدئين ويهدف إلى شرح أساسيات ملف `.htaccess` وكيفية استخدامه لتكوين موقع الويب الخاص بك.
ما هو ملف htaccess ولماذا نستخدمه؟
في جوهره، ملف `.htaccess` هو آلية لتجاوز إعدادات الخادم الافتراضية. يمكن استخدامه للعديد من الأغراض، بما في ذلك:
- إعادة التوجيه (Redirection): توجيه الزوار من عنوان URL قديم إلى عنوان URL جديد.
- حماية الدليل (Directory Protection): تقييد الوصول إلى مجلدات معينة على موقع الويب الخاص بك باستخدام اسم مستخدم وكلمة مرور.
- تخصيص صفحات الخطأ (Custom Error Pages): عرض صفحات خطأ مخصصة بدلاً من صفحات الخطأ الافتراضية للخادم.
- ضغط البيانات (Compression): تقليل حجم الملفات المرسلة إلى المتصفح، مما يؤدي إلى تسريع وقت تحميل الصفحة.
- تحسين الأداء (Performance Optimization): تكوين التخزين المؤقت (Caching) لتقليل الحمل على الخادم.
- منع الوصول إلى ملفات معينة (Preventing Access to Specific Files): منع الوصول المباشر إلى ملفات حساسة مثل ملفات التكوين.
- تغيير سلوك الخادم (Changing Server Behavior): تعديل إعدادات الخادم المختلفة، مثل تحديد نوع المحتوى (Content Type).
- تحسين محركات البحث (SEO): إنشاء عناوين URL صديقة لمحركات البحث.
أساسيات بناء الجملة (Syntax)
ملفات `.htaccess` تعتمد على بناء جملة بسيط نسبيًا. كل سطر في الملف يمثل توجيهًا (Directive). التوجيهات تتكون من اسم التوجيه متبوعًا بقيمته (إذا لزم الأمر). إليك بعض الأمثلة:
- `Options Indexes FollowSymLinks` : يُمكن دليل الفهرسة ويتبع الروابط الرمزية.
- `ErrorDocument 404 /error_pages/404.html` : يحدد الصفحة المخصصة لخطأ 404 (لم يتم العثور على الصفحة).
- `RewriteEngine On` : يُفعل محرك إعادة الكتابة (Rewrite Engine).
ملاحظات مهمة:
- يجب أن يبدأ ملف `.htaccess` بنقطة (`.`)، مما يجعله ملفًا مخفيًا في معظم أنظمة التشغيل.
- يجب وضع ملف `.htaccess` في الدليل الذي تريد تطبيق التوجيهات عليه.
- يُمكن أن يؤثر ملف `.htaccess` على الدليل الذي يوجد فيه وأي دليل فرعي بداخله.
- قد لا يتم تمكين ملفات `.htaccess` بشكل افتراضي على خادم Apache. تحقق من ملف تكوين الخادم (httpd.conf) للتأكد من أن `AllowOverride All` مُعيَّن للدليل الخاص بك. إذا لم يكن كذلك، فستحتاج إلى الاتصال بمزود الاستضافة الخاص بك لتمكينه.
بعض التوجيهات الشائعة (Common Directives)
فيما يلي بعض التوجيهات الأكثر استخدامًا في ملفات `.htaccess` مع شرح تفصيلي لكل منها:
**التوجيه** | **الوصف** | **مثال** | `Options` | يحدد خيارات مختلفة للدليل. | `Options Indexes FollowSymLinks` | `ErrorDocument` | يحدد الصفحة المخصصة لرمز خطأ معين. | `ErrorDocument 404 /error_pages/404.html` | `RewriteEngine` | يُفعل أو يُعطِّل محرك إعادة الكتابة. | `RewriteEngine On` | `RewriteRule` | يُحدد قاعدة لإعادة كتابة عنوان URL. | `RewriteRule ^old-page.html$ new-page.html [R=301,L]` | `DirectoryIndex` | يحدد الملف الذي يجب عرضه كصفحة فهرس (افتراضيًا index.html أو index.php). | `DirectoryIndex index.php index.html` | `AuthType` | يحدد نوع المصادقة (Authentication). | `AuthType Basic` | `AuthName` | يحدد اسم مجال المصادقة. | `AuthName "Restricted Area"` | `AuthUserFile` | يحدد ملف كلمة المرور المستخدم للمصادقة. | `AuthUserFile /path/to/.htpasswd` | `Header` | يضيف أو يعدل رؤوس HTTP. | `Header set Cache-Control "max-age=3600, public"` | `Expires` | يحدد مدة صلاحية الملفات المخزنة مؤقتًا. | `ExpiresActive On` |
إعادة كتابة عناوين URL (URL Rewriting)
إعادة كتابة عناوين URL هي واحدة من أكثر الميزات قوة في ملف `.htaccess`. تسمح لك بإنشاء عناوين URL صديقة لمحركات البحث وأكثر قابلية للقراءة. يتم ذلك باستخدام التوجيهين `RewriteEngine` و `RewriteRule`.
- `RewriteEngine On`: يُفعل محرك إعادة الكتابة.
- `RewriteRule <pattern> <substitution> [flags]`: يُحدد قاعدة إعادة الكتابة.
* `<pattern>`: نمط عنوان URL الذي تريد مطابقته. يمكن أن يتضمن تعبيرات نمطية (Regular Expressions). * `<substitution>`: عنوان URL الجديد الذي تريد إعادة التوجيه إليه. * `[flags]`: علامات اختيارية تحدد سلوك قاعدة إعادة الكتابة. بعض العلامات الشائعة: * `R=301`: إعادة توجيه دائمة (Permanent Redirect). مهم لتحسين محركات البحث. * `R=302`: إعادة توجيه مؤقتة (Temporary Redirect). * `L`: آخر قاعدة (Last Rule). يوقف معالجة القواعد الأخرى إذا تطابقت هذه القاعدة. * `NC`: غير حساس لحالة الأحرف (No Case).
مثال:
``` RewriteEngine On RewriteRule ^old-page.html$ new-page.html [R=301,L] ```
هذه القاعدة ستعيد توجيه أي زائر يحاول الوصول إلى `old-page.html` إلى `new-page.html` باستخدام إعادة توجيه دائمة.
حماية الدليل (Directory Protection)
لحماية دليل على موقع الويب الخاص بك، يمكنك استخدام التوجيهات `AuthType` و `AuthName` و `AuthUserFile`.
- `AuthType Basic`: يحدد نوع المصادقة الأساسي.
- `AuthName "Restricted Area"`: يحدد اسم مجال المصادقة الذي سيظهر في مربع الحوار الخاص بكلمة المرور.
- `AuthUserFile /path/to/.htpasswd`: يحدد مسار ملف كلمة المرور.
يجب عليك إنشاء ملف `.htpasswd` باستخدام أداة سطر الأوامر `htpasswd`. هذا الملف يحتوي على أسماء المستخدمين وكلمات المرور المشفرة.
مثال:
``` AuthType Basic AuthName "Admin Area" AuthUserFile /var/www/html/.htpasswd ```
ضغط البيانات (Compression)
يمكنك تحسين أداء موقع الويب الخاص بك عن طريق ضغط الملفات المرسلة إلى المتصفح. يمكنك القيام بذلك باستخدام التوجيهات `mod_deflate`. تأكد من أن وحدة `mod_deflate` مُمكنة على خادم Apache الخاص بك.
``` <IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript
</IfModule> ```
هذه القاعدة ستضغط ملفات HTML و CSS و JavaScript.
أمثلة إضافية واستراتيجيات متعلقة
- **إجبار استخدام HTTPS:**
``` RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ```
- **منع الوصول إلى ملفات PHP في دليل معين:**
``` <Directory /path/to/directory> <FilesMatch "\.php$"> Order Deny,Allow Deny from all </FilesMatch> </Directory> ```
- **تخصيص صفحة الخطأ 404:**
``` ErrorDocument 404 /404.html ```
استراتيجيات الخيارات الثنائية ذات الصلة (للمعلومات العامة فقط، لا تعتبر نصيحة استثمارية):
- **استراتيجية 60 ثانية:** تعتمد على تقلبات الأسعار قصيرة الأجل.
- **استراتيجية مارتينجال:** مضاعفة الاستثمار بعد كل خسارة (عالية المخاطر).
- **استراتيجية التقاطع المتحرك (Moving Average Crossover):** تستخدم متوسطات متحركة لتحديد اتجاه السعر.
- **استراتيجية بولينجر باند (Bollinger Bands):** تستخدم نطاقات بولينجر لتحديد التقلبات.
- **استراتيجية RSI (Relative Strength Index):** تستخدم مؤشر القوة النسبية لتحديد ظروف ذروة الشراء والبيع.
- **استراتيجية MACD (Moving Average Convergence Divergence):** تستخدم مؤشر التقارب والتباعد للمتوسطات المتحركة.
- **تحليل حجم التداول (Volume Analysis):** دراسة حجم التداول لتأكيد الاتجاهات.
- **تحليل الاتجاه (Trend Analysis):** تحديد اتجاه السعر (صاعد، هابط، جانبي).
- **استراتيجية الاختناق (Straddle):** شراء خيارين بنفس سعر التنفيذ (In-the-Money, At-the-Money, Out-of-the-Money).
- **استراتيجية الفراشة (Butterfly):** استراتيجية معقدة تتضمن أربعة خيارات.
- **تحليل فجوة السعر (Price Gap Analysis):** دراسة الفجوات في الرسوم البيانية لتحديد فرص التداول.
- **استراتيجية الاختراق (Breakout Strategy):** التداول عند اختراق مستويات الدعم والمقاومة.
- **استراتيجية التراجع (Pullback Strategy):** التداول عند التراجع المؤقت في اتجاه رئيسي.
- **استراتيجية متوسط الحركة الأسي (Exponential Moving Average - EMA):** تستخدم EMA لتحديد الاتجاهات بدقة.
- **استراتيجية المتوسط المتحرك البسيط (Simple Moving Average - SMA):** تستخدم SMA لتنعيم بيانات الأسعار.
- **استراتيجية فيبوناتشي (Fibonacci Retracement):** تستخدم مستويات فيبوناتشي لتحديد مستويات الدعم والمقاومة المحتملة.
- **استراتيجية التداول المتأرجح (Swing Trading):** الاستفادة من تقلبات الأسعار قصيرة الأجل.
- **استراتيجية التداول اليومي (Day Trading):** فتح وإغلاق الصفقات في نفس اليوم.
- **استراتيجية التداول طويل الأجل (Long-Term Trading):** الاحتفاظ بالصفقات لفترة طويلة.
- **استراتيجية المضاربة (Scalping):** جني أرباح صغيرة من تقلبات الأسعار الصغيرة.
- **استراتيجية إدارة المخاطر (Risk Management):** تحديد حجم الصفقة المناسب وتحديد نقاط وقف الخسارة.
- **استراتيجية التداول الخوارزمي (Algorithmic Trading):** استخدام برامج الكمبيوتر لتنفيذ الصفقات تلقائيًا.
- **استراتيجية التداول العاطفي (Emotional Trading):** (تجنبها) التداول بناءً على العواطف بدلاً من التحليل.
- **استراتيجية التداول على الأخبار (News Trading):** التداول بناءً على الأخبار الاقتصادية والسياسية.
الخلاصة
ملف `.htaccess` هو أداة قوية يمكن استخدامها لتكوين موقع الويب الخاص بك وتحسين أدائه وأمانه. من خلال فهم أساسيات بناء الجملة والتوجيهات الشائعة، يمكنك استخدامه لتخصيص موقع الويب الخاص بك ليناسب احتياجاتك. تذكر دائمًا اختبار أي تغييرات تجريها على ملف `.htaccess` بعناية لتجنب التسبب في مشاكل في موقع الويب الخاص بك.
مصادر إضافية
- [Apache .htaccess documentation](https://httpd.apache.org/docs/current/howto/htaccess.html)
- [htaccess tutorial](https://www.htaccess-guide.com/)
```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين