أجهزة الكمبيوتر شبابيك إنترنت

كيفية إنشاء ملف .htaccess - تعليمات مفصلة للمبتدئين. ما هو ملف htaccess، وكيفية القيام بذلك، مثال ضغط الملفات في htaccess

com.andew

2015-02-19T11:30:28+00:00

2017-02-16T05:30:00+00:00

12697

ملف .htaccessهي، حسب غرضها، ملف تكوين على مستوى الدليل لخادم الويب Apache. وهذا يعني أن التوجيهات من هذا الملف يتم تنفيذها محليًا بواسطة Apache فقط عند الوصول إلى الدليل الذي يحتوي على هذا الملف. ينطبق نطاق هذه التوجيهات فقط على الدليل الذي يوجد به الملف وعلى الدلائل الفرعية، حتى يتم تجاوزها في ملفات .htaccess الأخرى من الدلائل الفرعية. تتم إعادة قراءة ملف .htaccess في كل مرة يتم فيها الوصول إلى خادم الويب، لذلك تصبح التغييرات التي تم إجراؤها على هذا الملف نافذة المفعول على الفور.

وبالتالي، يوفر لنا Apache أداة تكوين مناسبة على مستوى دليل الموقع. يؤدي هذا إلى توسيع قدراتنا نظرًا لأنه ليست كل الإعدادات ملائمة للقيام بها على المستوى العالمي وعلى مستوى المضيف الافتراضي. أيضًا عند الاستضافة، كقاعدة عامة، لا تتاح لمالك الموقع الفرصة لتكوين Apache على المستوى العالمي وعلى مستوى المضيف الظاهري، ولكن قد تتاح له الفرصة لتعيين الإعدادات المطلوبة على مستوى دليل الموقع. لكي يقبل Apache وينفذ التوجيهات من ملفات .htaccess لأدلة الموقع، يجب السماح بذلك للموقع على المستوى العالمي أو على مستوى مضيف Apache الظاهري.

يتم تنفيذ هذا القرار باستخدام كتلة التعليمات البرمجية التالية:

السماح بتجاوز كافة التوجيهات #الأخرى...

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

الآن بضع كلمات حول اسم ملف .htaccess. يمكن استدعاء هذا الملف بشكل مختلف، ويتم تعيين ذلك أيضًا في تكوين Apache العام باستخدام توجيه AccessFileName. افتراضيًا، يتم تعيين هذا التوجيه في التكوين باسم AccessFileName .htaccess، وعادةً لا يقوم أحد بتغيير هذه القيمة، ولكن يجب أن تعلم أنه من الممكن تغييرها إلى شيء آخر.

يشبه بناء جملة ملفات .htaccess عمومًا بناء جملة ملف تكوين Apache الرئيسي. ومع ذلك، يمكن للمسؤول تقييد وصول المستخدمين إلى توجيهات معينة. وهذا هو، على الرغم من حقيقة أنه من حيث المبدأ، يمكن تنفيذ الأمر من .htaccess، يمكن للمسؤول رفض الوصول إلى توجيه معين. خذ هذا في الاعتبار عند العمل. أريد أيضًا أن أشير إلى هذه النقطة، متى تكتب توجيهات تعمل مع الأدلة؟ ثم في ملفات تكوين Apache الرئيسية، يجب أن يتم تغليفها بعلامة تشير إلى الدليل الذي تنطبق عليه، ومع ذلك، عند كتابة هذه التوجيهات في ملف .htaccess، لم تعد بحاجة إلى تغليفها بعلامة ، إذا كنت تريد تطبيقها على الدليل الحالي لملف .htaccess، وإذا كنت تريد تطبيقها على الدليل الفرعي فقط، فستحتاج مرة أخرى إلى تغليفه بعلامة .

ما الذي يمكننا استخدامه لملف .htaccess؟. هناك العديد من الخيارات هنا، وهنا الأكثر شيوعا:
1. لإدارة أذونات الوصول إلى أدلة الموقع (حماية الدليل بكلمة مرور، أو رفض الوصول إلى ملفات بتنسيق معين، أو الوصول إلى موقع ما في فترة زمنية معينة، أو رفض أو السماح بالوصول من عناوين IP معينة، أو إدارة روبوتات محرك البحث)
2. لإعادة كتابة عنوان URL الحالي إلى عنوان جديد وفقًا للشروط ()
3. أن يشير بشكل صريح إلى ترميز الموقع.
4.للسماح أو منع عرض ملفات الموقع
5. للحماية من الارتباط السريع
6.لإجراء عمليات إعادة التوجيه
7. لتعيين صفحات الخطأ الخاصة بك
8. لتجاوز ملف الفهرس
9…. وأكثر بكثير.

دعونا نكتب بعض الأمثلة ملف htaccess عام.
سنقوم فيه بجمع الحالات الأكثر شيوعًا لاستخدام التوجيهات وإضافة التعليقات عليها. ومن هذا القالب، ومن خلال إزالة ما لا تحتاجه، يمكنك دائمًا إعداد ملف .htaccess محدد لمهامك. هنا الرمز # - هذا هو حرف التعليق المستخدم في تكوينات Apache.

# .htaccess بداية القالب # ضبط المنطقة الزمنية SetEnv TZ Europe/Moscow # سنفرض تشفير صفحات الموقع AddDefaultCharset UTF-8 # سنقوم بتعيين ملف الفهرس الذي سيتم إرجاعه إذا لم يتم العثور على الملف المطلوب DirectoryIndex Index.php Index.html # سنمنع المستخدمين من عرض الملفات في دليل الخيارات -Indexes # السماح باتباع الروابط الرمزية في هذا الدليل Options +FollowSymLinks # السماح بالوصول فقط لـ IP المحدد Order Deny،Allow Deny from allallow from x.x.x.x # أو رفض الوصول عن طريق IP أمر السماح، رفض الرفض من x.x.x.x الرفض من x.x.x.x السماح من الكل # رفض الجميع، ثم # حدد هذا السطر واحدًا فقط رفض من الكل # يمكنك رفض الوصول إلى دليل فرعي متعلق بالملف الحالي # هذا الطريقة، أو عن طريق وضع ملف .htaccess منفصل هناك رفض الأمر، السماح بالرفض من الجميع# أغلق الدليل بكلمة مرور AuthType Basic AuthName "أدخل كلمة مرور" # المسار إلى الملف بكلمات المرور والمستخدمين يتطلب AuthUserFile /full/path/to/.htpasswd مستخدمًا صالحًا # أو أغلق الدليل الفرعي بكلمة مرور AuthType Basic AuthName "أدخل كلمة مرور" #path إلى الملف الذي يحتوي على كلمات المرور والمستخدمين () يتطلب AuthUserFile /full/path/to/.htpasswd مستخدمًا صالحًا# رفض الوصول إلى الملف.htpasswd # لجميع الزوار باستثناء عناوين IP المعتمدة رفض الطلب، السماح بالرفض من الكل السماح من x.x.x.x، x.x.x.xx# الحظر إذا كنت بحاجة إلى تعطيل معالجة PHP # يمكن القيام به أيضًا تعيين محرك php_value معطل محرك php_value معطل# #block تغيير إعدادات php #تعتمد بعض التوجيهات على إصدار php #php_flag register_globals Off #php_value memory_limit 16m #for files uploading - إذا لزم الأمر Ag Display_errors Off # قيد الإنشاء PHP لتحميل ملفات كبيرة تصل إلى 256 ميجا php_value Memory_limit 256M php_value upload_max_filesize 256M php_value post_max_size 256M # # إعادة كتابة URL RewriteEngine On # قم بتعيين عنوان URL الجذر على /RewriteBase/ # جميع الطلبات من HTTP إلى HTTPS RewriteCond %(HTTPS) =off RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI) # فقط للأدلة المحددة جميع الطلبات من http لإعادة توجيه https RewriteCond %(HTTPS) =off RewriteCond %(REQUEST_URI) /(admin|secret)/ RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI) # 301 إعادة التوجيه كفرض #setting شرطة مائلة زائدة # RewriteCond %(REQUEST_URI) /+[^\.]+$ #RewriteRule ^(.+[^/])$ %(REQUEST_URI)/ # # 301 إعادة التوجيه من www.site.ru إلى site.ru # كيفية حذف www RewriteCond % (HTTP_HOST) ^www\.site\.ru RewriteRule ^(.*)$ http://site.ru/$1 # #301 إعادة التوجيه العالمي من المجال www. على بدونشبكة الاتصالات العالمية. RewriteCond %(HTTP_HOST) ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1 #301 إعادة توجيه عالمية من مجال بدون شبكة الاتصالات العالمية. على شبكة الاتصالات العالمية. RewriteCond %(HTTP_HOST) ^(.*)$ RewriteCond %(HTTP_HOST) !^www\. RewriteRule ^(.*)$ http://www.%1/$1 # 301 إعادة التوجيه من المجالات المحددة إلى RewriteCond الرئيسي %(HTTP_HOST) ^www.domen.net$ RewriteCond %(HTTP_HOST) ^domain.net$ RewriteCond %( HTTP_HOST) ^www.domain.net$ RewriteRule ^(.*)$ http://domain.net/$1 # # إعادة التوجيه مع تحويل معلمات GET RewriteCond %(QUERY_STRING) do=page RewriteCond %(QUERY_STRING) id= (\d+ ) RewriteRule .* /page/%1/? # إعادة التوجيه الداخلي إلى ملف Index.php لـ CMS # إذا تم طلب ملف أو دليل غير موجود # ثم أعد توجيه الطلب إلى ملف Index.php RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RewriteRule . /index.php [L] # # أو خيار آخر لإعادة التوجيه الداخلي إلى الفهرس.php RewriteCond $1 !^(index\.php|images|robots\.txt|public) RewriteCond %(REQUEST_URI) !\.(cssiijsiijpgіgifīpng)$ RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RewriteRule ^(.*)$index.php?/$1 # أو مثل هذا: RewriteRule ^(.*)$ Index.php [L] # #Another الخيار ، لأولئك الذين ليس لديهم WordPress والذين يريدون #التخلص من الطلبات غير الضرورية (الروبوتات، وما إلى ذلك) للموضوعات، إلى لوحة الإدارة والأدلة من النوع #Where، هذا ليس ملفًا أو دليلاً، و لا يبدأ بـ /wp-، # ثم نقوم بإعادة توجيه داخلي إلى Index.php RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d # إذا لم يكن لديك WordPress، أضف هذا وأيضًا الكتلة بعد ذلك RewriteCond %(REQUEST_URI) !^/wp- RewriteRule . /index.php [L] # إذا لم يكن لديك WordPress، فكل من اقتحم /wp-... #give 410 Gone Status - توصية بنسيان عنوان URL هذا #RewriteRule "oldproduct" "-" #مثال عام RewriteCond %(REQUEST_URI) ^/wp-RewriteRule. - # محمي من الرابط الساخن RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http://site\.ru/ RewriteCond %(HTTP_REFERER) !^https://site\.ru/ RewriteCond %(HTTP_REFERER) !^http://www\.site\.ru/ RewriteCond %(HTTP_REFERER) !^https://www\.site\.ru/ RewriteRule \.(jpeg|png|bmp|gif|jpg|js|css )$ - [F] # # خيار آخر لموارد منع الارتباط السريع (الصور) RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http://(.+\.)?server\.ru/ RewriteCond %(HTTP_REFERER ) !^https://(.+\.)?server\.ru/ RewriteCond %(REQUEST_URI) !null\.gif$ # إعادة توجيه كعب الروتين dummy.gif إلى الصورة RewriteRule \.(jpg|jpeg| gif|bmp| png)$ http://server.ru/dummy.gif [L] # خيار آخر لموارد مكافحة الارتباط السريع (صور) RewriteCond %(HTTP_REFERER) ! ^$ #Replace?mysite\.com/ بعنوان مدونتك RewriteCond %(HTTP_REFERER) !^http://(.+\.)?mysite\.com/ RewriteCond %(HTTP_REFERER) !^$ #Replace /images/ nohotlink.jpg إلى صورتك التي تحتوي على رابط سريع محظور RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] # خيار آخر لموارد مكافحة الارتباط السريع (صور) RewriteCond %(HTTP_REFERER ) !^ http://(.+\.)?mysite\.com/ RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !google. RewriteCond %(HTTP_REFERER) !yandex. RewriteCond %(HTTP_REFERER) !search?q=cache RewriteCond %(HTTP_REFERER) !msn. RewriteCond %(HTTP_REFERER) !yahoo. RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpe [L] ## أخطاء الإخراج 404 إذا تم تعطيل mod_rewrite خطأ الوثيقة 404 /index.php# لنضبط صفحاتنا بحثًا عن الأخطاء ErrorDocument 404 /err_404.html ErrorDocument 403 /err_403.html # # كتلة التعليمات البرمجية لإعادة التوجيه إلى إصدار الهاتف المحمول للموقع # كخيار سأقدمه هنا، المزيد على سبيل المثال RewriteEngine on # تحقق من سلسلة وكيل المستخدم في المتصفح RewriteCond %(HTTP_USER_AGENT) acs RewriteCond %(HTTP_USER_AGENT) alav RewriteCond %(HTTP_USER_AGENT) alca RewriteCond %(HTTP_USER_AGENT) من RewriteCond %(HTTP_USER_AGENT) audi RewriteCond %(HTTP_USER_AGENT) من Rew riteCond % (HTTP_USER_AGENT) من خلال RewriteCond %(HTTP_USER_AGENT) benq RewriteCond %(HTTP_USER_AGENT) طائر RewriteCond %(HTTP_USER_AGENT) blac RewriteCond %(HTTP_USER_AGENT) blaz RewriteCond %(HTTP_USER_AGENT) طائر RewriteCond %(HTTP_USER_AGENT) خلية RewriteCond %(HTTP_USER_AGENT) cldc إعادة كتابة Cond %(HTTP_ USER_AGENT) cmd- RewriteCond % (HTTP_USER_AGENT) من خلال RewriteCond %(HTTP_USER_AGENT) من خلال RewriteCond %(HTTP_USER_AGENT) من eric RewriteCond %(HTTP_USER_AGENT) من RewriteCond %(HTTP_USER_AGENT) من خلال RewriteCond %(HTTP_USER_AGENT) ipaq RewriteCond %(HTTP_USER_AGENT) java Re writeCond %(HTTP _USER_AGENT) رقصات RewriteCond % (HTTP_USER_AGENT ) kddi RewriteCond %(HTTP_USER_AGENT) هذا RewriteCond %(HTTP_USER_AGENT) leno RewriteCond %(HTTP_USER_AGENT) lg-c RewriteCond %(HTTP_USER_AGENT) lg-d RewriteCond %(HTTP_USER_AGENT) lg-g RewriteCond %(HTTP_USER_AG ENT) lge-RewriteCond %( HTTP_ USER_AGENT) maui RewriteCond %(HTTP_USER_AGENT) الحد الأقصى RewriteCond %(HTTP_USER_AGENT) midp RewriteCond %(HTTP_USER_AGENT) مع RewriteCond %(HTTP_USER_AGENT) mmef RewriteCond %(HTTP_USER_AGENT) mobi RewriteCond %(HTTP_USER_AGENT) mot- إعادة الكتابة Cond %(HTTP_USER_AGENT) موتو إعادة كتابة Cond % (HTTP_USER_AGENT) mwbp RewriteCond %(HTTP_USER_AGENT) غير المصنّفة في موضع آخر- RewriteCond %(HTTP_USER_AGENT) جديد RewriteCond %(HTTP_USER_AGENT) noki RewriteCond %(HTTP_USER_AGENT) opwv RewriteCond %(HTTP_USER_AGENT) راحة RewriteCond %(HTTP_USER_AGENT) بانا Rew riteCond %(HTTP_USER_AGENT) بانت RewriteCond %( HTTP_USER_AGENT) pdxg RewriteCond %(HTTP_USER_AGENT) phil RewriteCond %(HTTP_USER_AGENT) تشغيل RewriteCond %(HTTP_USER_AGENT) بالإضافة إلى منفذ RewriteCond %(HTTP_USER_AGENT) RewriteCond %(HTTP_USER_AGENT) بالوكالة RewriteCond %(HTTP_USER_AGENT) qtek إعادة الكتابة Cond %(HTTP_USER_AGENT) qwap إعادة كتابة Cond %(HT TP_USER_AGENT ) RewriteCond %( https TP_USER_AGENT) shar RewriteCond % (HTTP_USER_AGENT) sie- RewriteCond %(HTTP_USER_AGENT) نفس RewriteCond %(HTTP_USER_AGENT) RewriteCond %(HTTP_USER_AGENT) smar RewriteCond %(HTTP_USER_AGENT) سوني RewriteCond %(HTTP_USER_AGENT) sph- RewriteCond %( HTTP_USER_AGENT) رمز RewriteCon d %(HTTP_USER_AGENT) t-mo RewriteCond %(HTTP_USER_AGENT) teli RewriteCond %(HTTP_USER_AGENT) tim- RewriteCond %(HTTP_USER_AGENT) tosh RewriteCond %(HTTP_USER_AGENT) tsm- RewriteCond %(HTTP_USER_AGENT) upg1 Re writeCond %(HTTP_USER_AGENT) upsi RewriteCond %(HTTP_USER_AGENT) vk -v RewriteCond %(HTTP_USER_AGENT) rewriteCond %(HTTP_USER_AGENT) w3cs RewriteCond %(HTTP_USER_AGENT) wap- RewriteCond %(HTTP_USER_AGENT) wapa RewriteCond %(HTTP_USER_AGENT) wapi RewriteCond %(HTTP_ USER_AGENT) wapp RewriteCond %(HTTP_USER_AGENT) wapr RewriteCond %(HTTP_USER_AGENT) webc RewriteCond %(HTTP_USER_AGENT) winw RewriteCond %(HTTP_USER_AGENT) winw RewriteCond %(HTTP_USER_AGENT) xda RewriteCond %(HTTP_USER_AGENT) xda- RewriteCond %(HTTP_USER_AGENT) up.browser RewriteCond %(HTTP_ USER_AGENT) up.link RewriteCond %(HTTP_USER_AGENT) windows.ce RewriteCond %(HTTP_USER_AG ENT) iemobile RewriteCond %(HTTP_USER_AGENT) mini RewriteCond %(HTTP_USER_AGENT) mmp RewriteCond %(HTTP_USER_AGENT) سيمبيان RewriteCond %(HTTP_USER_AGENT) midp RewriteCond %(HTTP_USER_AGENT) wa p RewriteCond %(HTTP_USER_AGENT) الهاتف RewriteCond %(HTTP_USER_AGENT) ipad RewriteCond % (HTTP_USER_AGENT) iphone RewriteCond % (HTTP_USER_AGENT) iPad RewriteCond %(HTTP_USER_AGENT) iPhone RewriteCond %(HTTP_USER_AGENT) ipod RewriteCond %(HTTP_USER_AGENT) iPod RewriteCond %(HTTP_USER_AGENT) جيب إعادة الكتابة Cond %(HTTP_USER_AGENT) المحمول (HTTP_USER_AGENT) android RewriteCond %(HTTP_USER_AGENT) Android RewriteCond %(HTTP_USER_AGENT) pda RewriteCond %(HTTP_USER_AGENT) PPC RewriteCond %(HTTP_USER_AGENT) Series60 RewriteCond %(HTTP_USER_AGENT) Opera. Mini RewriteCond %(HTTP_USER_AGENT) Moby RewriteCond %(HTTP_USER_AGENT) Mobi # التحقق من رؤوس الخدمة المرسلة بواسطة المتصفح RewriteCond %(HTTP_ACCEPT) "text/vnd.wap.wml" RewriteCond %(HTTP_ACCEPT) "application/vnd.wap.xhtml+xml " # تحقق من الاستثناءات RewriteCond %(HTTP_USER_AGENT) !windows.nt RewriteCond %(HTTP_USER_AGENT) !bsd RewriteCond %(HTTP_USER_AGENT) !x11 RewriteCond %(HTTP_USER_AGENT) !unix RewriteCond %(HTTP_USER_AGENT) !macos RewriteCond %(HTTP_USER_AGENT) !macinto ش ريوريتيكوند % ( HTTP_USER_AGENT) !playstation RewriteCond %(HTTP_USER_AGENT) !google RewriteCond %(HTTP_USER_AGENT) !yandex RewriteCond %(HTTP_USER_AGENT) !bot RewriteCond %(HTTP_USER_AGENT) !libwww RewriteCond %(HTTP_USER_AGENT) !msn RewriteCond %(HTTP_USER_AGENT) !am إيريكا ريوريتيكوند %( HTTP_USER_AGENT ) !avant RewriteCond %(HTTP_USER_AGENT) !download RewriteCond %(HTTP_USER_AGENT) !fdm RewriteCond %(HTTP_USER_AGENT) !maui RewriteCond %(HTTP_USER_AGENT) !webmoney RewriteCond %(HTTP_USER_AGENT) !windows-media-player # عند استيفاء الشروط، إعادة التوجيه إلى موقع النسخة المحمولة RewriteRule ^(.*)$ http://mobile.version.of.site.ru#إعادة توجيه Universal 302 إلى النسخة المحمولة من الموقع RewriteEngine على #Universal إعادة التوجيه إلى النسخة المحمولة من الموقع RewriteCond %(HTTP_HOST) ^(.*)$ RewriteCond %(HTTP_USER_AGENT) (?i:midp|samsung|nokia|j2me|avant|docomo|novarra|palmos|palmsource| opwv|chtml |pda|mmp|blackberry|mib|symbian|wireless|nokia|hand|mobi|phone|cdm|upb|audio|SIE|SEC|samsung|HTC|mot-|ميتسو|sagem|sony|alcatel|lg |eric| vx|NEC|philips|mmm|xx|panasonic|sharp|wap|sch|rover|pocket|benq|java|pt|pg|vox|amoi|bird|compal|kg|voda|sany|kdd|dbt |sendo| sgh|gradi|jb|dddi|moto|iphone|android) RewriteRule ^$ http://m.%1# htaccess نهاية القالب

سوف أقوم بفك بعض الرموز أعلاممن التوجيهات:

  • إعادة كتابةالشروط... - NC يعني تسجيل مقارنة غير حساسة للأداء
  • إعادة كتابةالشروط... - NC انظر أعلاه، OR يعني دمج RewriteCond عبر OR، افتراضيًا إذا لم يتم تحديد أي شيء، فسيتم دمج RewriteCond عبر عامل التشغيل AND.
  • إعادة كتابة القاعدة... [ل]- L يعني إنهاء (إيقاف المعالجة) أي تحويلات أخرى في قاعدة RewriteRule هذه عنوان URL، أي. لا يتم تنفيذ RewriteRules اللاحقة.
  • إعادة كتابة القاعدة... - L انظر أعلاه، R=302 يعني إعادة التوجيه بالرمز 302 إلى عنوان URL المحول
  • إعادة كتابة القاعدة... - L وR انظر أعلاه، QSA - عند تحويل عنوان URL، قم بربط الأجزاء المحددة، وليس الاستبدال.
  • إعادة كتابة القاعدة... [F]- F تعني رفض إصدار نتيجة لذلك عنوان URLشفرة 403 مُحرَّم.
  • RewriteRule. - ز|ذهب - [ز]العلم يعني التخلي عن الرمز 410 ذهب الوضع- توصية بنسيان عنوان URL هذا

ملف المستخدم - يضبط المسار إلى الملف بكلمات مرور لمصادقة مستخدم http. يمكن أن يكون المسار مطلقًا من جذر نظام ملفات خادم Linux أو نسبيًا من ServerRoot Apache. في Ubuntu، يكون ServerRoot هو "/etc/Apache2" افتراضيًا. عند تحديد مسار نسبي من ServerRoot Apache، لا يتم تحديد الشرطة المائلة البادئة في المسار، وإلا فسيتم اعتبار المسار مطلقًا من جذر Linux. وأيضًا، إذا كان المسار يحتوي على أحرف ومسافات غير قانونية، فيجب وضعه بين علامتي اقتباس، فهذه قاعدة عامة.

أمر، رفض، سمح

الآن مرة أخرى، ولكن بمزيد من التفصيل، أود العودة إلى توجيهات التحكم في الوصول: طلب, ينكر, يسمحووصف بناء الجملة والمنطق بمزيد من التفصيل.

التوجيهات يسمح , ينكر , طلبوحدة mod_access_compat غير مرغوب فيهللاستخدام وتعتبر قديمة، على الرغم من أنها لا تزال مدعومة في الإصدارات أباتشي 2.3 و 2.4 . سيتم إزالتها في الإصدارات المستقبلية. بدلا من ذلك، بدءا من الإصدار أباتشي 2.3، يتم تنفيذ هذه الوظيفة من خلال التوجيه يتطلب، والذي يسمح لك بتكوين الوصول بمرونة أكبر من التوجيهات القديمة. للحصول على التفاصيل، راجع المقالة التي تصف التوجيهات بالتفصيل يتطلب, يسمح, ينكر, طلبمع أمثلة على استخدامها.

بناء جملة توجيه الطلب: Order أو

تقصيريحتوي توجيه الطلب على الأمر: يرفض يسمح. .لاحظ أن يرفض يسمحمكتوبة بدون مسافات.

اعتمادًا على الترتيب الذي يتم به تحديد التوجيهات يرفض يسمحأو السماح، الرفضيتغير منطق العمل.

لو يرفض يسمحثم الوصول من جميع عناوين IP باستثناء تلك المحددة محظور، إذا السماح، الرفضيُسمح بالوصول من جميع عناوين IP باستثناء تلك المحددة. فيما يلي أقسام الوصف للوصول والرفض. الكلمة الرئيسية الجميعيعني من جميع عناوين IP.

على سبيل المثال، لرفض (حظر) الوصول من IP x.x.x.x وx.x.x.xx والسماح بالوصول لأي شخص آخر، تحتاج إلى إضافة التعليمة البرمجية التالية إلى .htaccess:

#السماح للجميع باستثناء عناوين IP المحددة
أمر السماح، رفض
السماح من الجميع
رفض من x.x.x.x x.x.x.xx

يرجى ملاحظة أن عناوين IP تتم كتابتها مفصولة بمسافات. يمكنك أيضًا تحديد IP كـ IP/قناع.

بالنسبة للوضع العكسي، ماذا سيكون يحظرالوصول من جميع عناوين IP باستثناء x.x.x.x وx.x.x.xx نحتاج إلى إضافة الكود التالي إلى .htaccess:

# رفض الجميع باستثناء تلك المحددة الملكية الفكرية
أمر الرفض، السماح
رفض من الجميع
السماح من x.x.x.x x.x.x.xx

يمكن تحديد الحظر أو الإذن على ملف فردي أو مجموعة من الملفات. على سبيل المثال، لمنع وصول الجميع باستثناء IP x.x.x.x إلى ملف passwd.html الموجود في الدليل الحالي.

# قم برفض ملف passwd.html للجميع باستثناء عنوان IP المحدد

أمر الرفض، السماح
رفض من الجميع
السماح من x.x.x.x

وبالمثل، يمكنك رفض أو السماح بالوصول إلى مجموعة معينة من الملفات عن طريق وصفها باستخدام تعبير عادي. على سبيل المثال، بالنسبة للملفات ذات الامتداد ".key":

#رفض ملفات *.key للجميع باستثناء IP المحدد

أمر الرفض، السماح
رفض من الجميع
السماح من x.x.x.x

لقد تبين أن القالب كبير، ولكن في الممارسة العملية يجب أن تسعى جاهدة لاستخدام التوجيهات الأساسية حقًا فقط. يجب أن تكون حذرًا بشكل خاص مع عمليات إعادة التوجيه الخارجية، لأنها تؤدي إلى زيادة إجمالية في وقت معالجة الطلب. لذلك، لا تفعلها إلا إذا كانت ضرورية حقًا. أود أيضًا أن أحذرك من توجيهات النسخ واللصق المباشرة من القالب الذي قدمته إلى إعداداتك الحقيقية. استخدم الكود الوارد هنا كمثال فقط للحصول على فكرة عما هو ممكن وكيف سيبدو. في ملفاتك الخاصة، أدخل فقط تلك التوجيهات التي تفهم تركيبها، ويمكنك فك تشفيرها، والتي قمت بمراجعتها باستخدام الدليل الرسمي أباتشي. أخطاء في تنفيذ التوجيهات من الملف .htaccessانظر في السجلات أباتشي.

Htaccess هو ملف يتعلق بإعداد خادم Apache. يمكنك من خلاله ضبط إعدادات مختلفة لتكوين أكثر ملاءمة للأخطاء وأشياء أخرى للموقع. عادة، يقع ملف .htaccess في الدليل الجذر ويعمل على الموقع بأكمله، وعلى جميع الدلائل الفرعية، ولكن ما لم يحتوي على .htaccess الخاص به في دليل آخر، فإنه سيعمل على الدليل الخاص به والأدلة الفرعية الخاصة به، ما لم يكن بالطبع الأخير يحتوي على ملف .htaccess الخاص بك.

عادة، يتم استخدام ملف .htaccess لتقييد الوصول إلى ملفات أو أدلة معينة.

هل يدعم مضيفك .htaccess؟

ربما يكون هذا هو السؤال الأصعب الذي لا يمكن الإجابة عليه على الفور! في بعض الأحيان يدعم المضيفون .htaccess، لكنهم يمنعون مستخدميهم من استخدام هذه الخدمة. إذا لاحظت على FTP أن هناك ملف .htaccess، فلا تتسرع في استبداله، ومن الأفضل الاتصال بالدعم. وفقًا للاتفاقية، إذا كان الخادم مثبتًا عليه Unix أو Linux، فإن الخادم يدعم .htaccess. أعرف ثلاثة مواقع تدعم .htaccess، وهي:

كيفية إنشاء ملف .htaccess؟

بسيط جدا. انتقل إلى "المفكرة"، اكتب النص الذي سيكون أدناه ثم انقر فوق "حفظ باسم"، حدد نوع الملف "All Files" *.* ("All Files" *.*) وفي " اسم الملف" نكتب. htaccess. إذا لم تتمكن من القيام بذلك، فلا تقلق واحفظه ببساطة كملف .htaccess.txt، وعندما تقوم بتحميله إلى FTP باستخدام عميل FTP، قم بتغيير الاسم إلى .htaccess .

تنبيه: قبل استخدام .htaccess، أحذرك: على الرغم من أن استخدام .htaccess على الخادم الخاص بك أمر غير مرغوب فيه على الإطلاق، لأنه... قد تنشأ بعض المشاكل (إذا كان هناك خطأ ما، فلن يعمل ببساطة)، يجب أن تكون حذرا من ملحقات Microsoft FrontPage. يستخدم Microsoft FrontPage Extensions ‎.htaccess، لذا لا أنصحك بتغييره بالكامل (ملف ‎.htaccess) أو إضافة معلومات بنفسك واستبدال ‎.htaccess الخاص بك بـ ‎.htaccess الخاص بالخادم. إذا كنت غير صبور حقًا، فأنا أنصحك أولاً بنسخ ملف .htaccess من الخادم وبعد ذلك فقط قم بتغييره هناك، وإلا فمن يعرف ماذا ستفعل هناك بمقابضك "الملتوية" :-).

صفحات الخطأ العادية

أولاً، سأخبرك أنه يمكنك تغيير صفحة الخطأ. أولئك. يمكن تخصيص تلك الصفحات التي يتم عرضها في حالة حدوث خطأ (على سبيل المثال، لم يتم العثور على ملف 404) لتناسب التصميم. أعتقد أن عيون كل مصمم ويب تتلألأ بفكرة أنه يمكنك كتابة 404 بأحرف حمراء كبيرة لتصميمك الخاص، على خلفيتك الخاصة مع وجود القائمة والشعار الخاص بك، حتى يتمكن الجميع من رؤيته. حسنا، دعونا نبدأ. النظام كالتالي: ErrorDocument error number /file.html لنفترض أننا نريد تغيير الخطأ 404، فنكتب ما يلي: ErrorDocument 404 /notfound.html حيث notfound.html هو ملف موجود في الدليل الجذر وكان تغيرت من قبلنا! إذا كانت الملفات التي تحتوي على أخطاء موجودة في المجلد /errorpages، فاكتب في ملف .htaccess ErrorDocument 404 /errorpages/404.html.

فيما يلي قائمة بالأخطاء الأكثر شيوعًا:

401 التفويض مطلوب
400 طلب سىء
403 ممنوع
500 - خطأ داخلي في الخادم
404 - لم يتم العثور على صفحة أو ملف خاطئ

نقوم بإنشاء ملفات بها كل هذه الأخطاء ونكتبها في ملف .htaccess.

في الجزء التالي سأتحدث عن الوظائف الأخرى لملف .htaccess لتحسين موقعك.

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

ما هو ملف .htaccess؟

يتيح لك Htaccess إدارة عدد كبير من الإعدادات لموقعك والوصول إليه. يمكنك إنشاء ملف .htaccess بنفسك، وعادةً ما يتم ذلك في الدليل الرئيسي.

تخضع الإعدادات التي يمليها الملف إلى الدليل الذي يوجد به .htaccess، وكذلك جميع الدلائل المضمنة فيه.

لا تقم بإنشاء ملف .htaccess آخر إذا كان موقعك يحتوي على ملف بالفعل. ولجعل قواعده تنطبق على الدلائل الأخرى، قم بإضافة قواعد إضافية إلى الملف الموجود.

كيفية إنشاء ملف htaccess

للقيام بذلك، استخدم مدير الملفات بعد الذهاب إلى المجلد المطلوب. بعد إنشاء ملف جديد يسمى .htaccess، يمكنك البدء في ملئه بالإعدادات.

وصول محدود

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

لمنع الوصول إلى الموقع بأكمله، يجب كتابة ما يلي في قواعد ملف htaccess:

رفض الطلب، السماح بالرفض من الكل، السماح من *.*.*.*

تنشئ هذه الإعدادات ترتيبًا محددًا للإجراءات. في البداية، تم رفض الوصول لجميع المستخدمين. ثم يُسمح بالوصول فقط من عنوان IP المحدد، والذي يشار إليه بدلاً من العلامات النجمية في السطر الأخير. من الممكن السماح بالوصول إلى عدد كبير من عناوين IP أو الشبكات الفرعية. القاعدة الوحيدة هي كتابة كافة العناوين في سطر جديد.

بالنسبة للعناوين التي تنتمي إلى نفس الشبكة الفرعية، يتعين عليك تحديد النطاق 0/* بدلاً من العلامة النجمية الأخيرة.
على سبيل المثال:

السماح من *.*.*.0/11

إذا كنت لا تعرف عنوان IP الخاص بك، فاستخدم إحدى الخدمات العديدة الموجودة على الإنترنت، على سبيل المثال: https://2ip.ru/

لتقييد الوصول ليس إلى الموقع بأكمله، ولكن إلى أحد أجزائه، تحتاج إلى إنشاء ملف في المجلد الذي يحتاج إلى وصول محدود.

رفض الوصول إلى عناوين محددة

إذا حدث أن هناك مكالمات جماعية منتظمة إلى موقعك من عنوان IP واحد، فمن المنطقي تقييد الوصول إليه تمامًا. في مثل هذه الحالة، يجب كتابة القواعد الموجودة في ملف .htaccess على النحو التالي:

طلب السماح، رفض السماح من الكل الرفض من *.*.*.*

هنا، على عكس المثال السابق، يتم منح الوصول أولاً، ثم يتم رفضه. يتيح السطر "السماح من الكل" إمكانية الوصول إلى جميع زوار الموقع. السطر الثالث يمنع الوصول إلى الموقع لعنوان IP المحدد. تمامًا مثل المرة السابقة، أضف عناوين IP جديدة من سطر جديد. اتصل بالدعم الفني لمزودك لمعرفة عنوان IP الذي يتم من خلاله إرسال الطلبات إلى موقعك.

تعيين كلمة مرور للوصول إلى المجلد.

في كثير من الأحيان، من الضروري منع الوصول ليس إلى الموقع بأكمله، ولكن إلى أدلةه الفردية. في مثل هذه الحالات، كلمة المرور هي الأفضل. لتثبيته، تحتاج إلى فتح لوحة التحكم، حدد المجلد المطلوب وانقر فوق الزر "حماية كلمة المرور".

العيب الرئيسي لهذه الطريقة هو أنه يتم تعيين كلمة المرور لزائر واحد فقط. لكي يتمكن العديد من الأشخاص من استخدامه في وقت واحد، نحتاج مرة أخرى إلى مساعدة .htaccess. في ملف .htaccess، أدخل الإعدادات الجديدة.

AuthName "your_text" AuthType Basic يتطلب مستخدم صالح AuthUserFile "full_path_to_file_.htpasswd"

في حقل "your_text" تحتاج إلى تحديد النص الذي سيتم عرضه عند محاولة الدخول إلى هذا المجلد. من المهم أن يكون هذا النص مكتوبًا باللغة اللاتينية ولا يحتوي على أحرف خاصة.

يسمح سطر "يتطلب مستخدمًا صالحًا" بالوصول إلى أي اسم مستخدم. يمكنك تحديد قائمة الأسماء الخاصة بك عن طريق إدراجها مفصولة بفواصل بدلاً من المستخدم الصالح.

يجب تشفير تسجيل الدخول وكلمة المرور للوصول إلى المجلد وإدراجهما في ملف .htpasswd من نفس الدليل. في السطر الرابع تحتاج إلى تحديد المسار إلى هذا الملف. يمكنك أيضًا استخدام مدير الملفات لإنشائه.

لتشفير معلومات تسجيل الدخول وكلمة المرور الخاصة بك، استخدم الأداة المساعدة من console.htpasswd إذا كنت مستخدمًا متقدمًا. خلاف ذلك، يمكنك استخدام خدمات الطرف الثالث، والتي يوجد عدد كبير منها على الإنترنت. في الخيار الثاني، يمكنك ببساطة تحديد اسم المستخدم وكلمة المرور المطلوبين وتلقي النص المشفر الذي تحتاج إلى نسخه ولصقه في ملف htpasswd الخاص بك.
هذا مجرد جزء صغير من جميع الإعدادات التي يمكن لـ htaccess العمل معها. كما تعلم الآن، يتيح لك .htaccess العمل مع إمكانية الوصول إلى موقعك وأجزائه الفردية. وبعد دراستها بمزيد من التفصيل، يمكنك بسهولة إدارة أمان موقعك، بالإضافة إلى العديد من الإعدادات المفيدة الأخرى.

يعد ملف .htaccess ضروريًا للتشغيل الصحيح والصحيح لمدونتك أو موقع الويب الخاص بك. في هذه المقالة سوف نتعرف على ملف .htaccess ونقوم بإنشائه.

محتوى:
  • § 1. ملف.htaccess
  • 1.1. كيفية إنشاء ملف htaccess
  • 1.2. Setup.htaccess.
  • § 2.
  • 2.2. إعادة توجيه الروابط القديمة إلى صفحات جديدة باستخدام إعادة التوجيه 301
  • § 3. تقييد الوصول
  • 3.2. حماية كلمة المرور

§ 1. ملف.htaccess

يتم استخدام ملف .htaccess لتعيين بعض المعلمات لخوادم Apache. تم اختراع htaccess خصيصًا لتوفير القدرة على تغيير تكوين الخادم لكل مستخدم، مما يؤثر فقط على موقعه الخاص، وليس الخادم بأكمله.

مميزات استخدام htaccess:

1. يسمح لك بتجاوز عدد كبير من التوجيهات المكتوبة في ملف httpd.confg الرئيسي

2. إذا قمت بوضع ملف htaccess في الدليل الجذر، فسيتم توزيعه على الموقع بأكمله (ستكون الاستثناءات الوحيدة هي تلك الدلائل التي يوجد بها ملف التكوين الخاص به، والأدلة الموجودة في أسفل بنية الشجرة)

3. يمكنك وضع ملف htaccess في أي دليل، وسيتم تطبيق توجيهاته على جميع الدلائل الفرعية

4. برنامج Htaccess غير متاح للمستخدم للعرض من المتصفح، لأنه ينتمي إلى فئة “النظام”.

مع htaccess، يتمتع المستخدم بالمرونة اللازمة لتكوين خادمه الخاص ويمكنه تطبيق المعلمات التالية:

  • . توجيهات إعادة التوجيه البسيطة (إعادة التوجيه)؛
  • . توجيهات إعادة التوجيه المعقدة (mod_rewrite)؛
  • . صفحات الفهرس؛
  • . معالجة الأخطاء؛
  • . تعريف الترميز؛
  • . إدارة الوصول إلى الدلائل والملفات؛
  • . كلمة مرور الدليل؛
  • . خيارات PHP.


1.2. كيفية إنشاء ملف htaccess

الإجراء لإنشاء .htaccess:

1. افتح محرر النصوص ( المفكرة ++أو حتى عادية دفتر).

2. على القائمة " ملف" يختار " حفظ باسم".

3. في القائمة المنسدلة " نوع الملف" يختار " كل الملفات".

4. أدخل باسم " .htaccess" (بدون اقتباسات).

§ 2. أمثلة على استخدام ملف .htaccess

من الأفضل استخدام ملف htaccess لمعالجة الأخطاء الموجودة على الموقع (مثل 404 أو 301)، أو لإعادة كتابة عناوين URL، أو لتعيين حقوق استخدام الدليل. يعد هذا أمرًا رائعًا عندما تحتاج إلى تحديد موقع جديد للمحتوى القديم، أو عند إنشاء صفحة خطأ لمحتوى لم يعد موجودًا، أو المطالبة بكلمة مرور للوصول إلى بعض الملفات أو المجلدات الموجودة على الخادم، أو تحويل عناوين URL إلى عناوين أكثر قابلية للفهم والفهم بسيط. دعونا نلقي نظرة على بعض الاستخدامات لملف .htaccess:

2.1. خطأ 404 أو كيفية الاحتفاظ بالزائر

مرة واحدة على صفحة بها نقش غامض "خطأ 404"، حيث لم يتم العثور على الصفحة المطلوبة واقترح العودة من حيث أتوا. يعود البعض منكم، والبعض الآخر يغلق الصفحة ويترك الموقع.


يحدث الخطأ 404 في متصفح المستخدم عندما يكتب عنوانًا خاطئًا أو غير موجود تمامًا أو ينتقل إلى موقع باستخدام رابط معطل. وذلك عندما تتم إعادة توجيه المستخدم تلقائيًا إلى صفحة خطأ الخادم.

يمكنك إنشاء صفحتك الخاصة مع ظهور رسالة خطأ 404. على سبيل المثال:

"ألف اعتذار! كان هناك سوء فهم! أوهيرجى الرجوع إلى خريطة الموقع للحصول على المساعدة، وسوف تساعدك على العثور على كل ما تحتاجه. أتمنى لك رحلة جميلة!"

الهدف من إنشاء صفحتك الخاصة برسالة خطأ 404 هو إبقاء الزائر في الموقع ومنعه من المغادرة.

قم بإنشاء صفحات الخطأ الخاصة بك

1 . افتح المفكرة (محرر النصوص).

2. الصق الكود التالي هناك:

خطأ الوثيقة 404 http://your_site/myerror.html

أين موقع الويب الخاص بك هو اسم المجال لموقعك، وmyerror هو اسم صفحة الخطأ 404.

3. نقوم بحفظ هذا الملف بالاسم .htaccess. يتحكم ملف .htaccess في صفحة 404.

4. قم بتحميله إلى الدليل الجذر للموقع. يُخبر الإدخال الذي أنشأناه الخادم بالموقع الجديد واسم صفحة الخطأ.

5. نقوم بإنشاء صفحة الخطأ نفسها، وإدخال النص المطلوب، ويمكنك حتى إدراج بعض الصور المناسبة وتحميل الصفحة في المجلد الجذر.

6. اكتب في متصفحك السطر http://your_site/ /abracadabra.html وشاهد نتيجة العمل المنجز.

إن وجود صفحة الخطأ 404 الخاصة بك ليس هو الحل لكل مشكلة.

من خلال الاحتفاظ بعملائك المحتملين من خلال صفحة الخطأ 404 الخاصة بك، فإنك تزيد من احتمالية شرائهم منك وليس من منافسك!

1. تأكد من كتابته بشكل صحيح ولم تنس النقطة في بداية اسم الملف: htaccess.

2. اجعل صفحة الخطأ 404 الخاصة بك مطابقة بصريًا لأي صفحة أخرى على الموقع، على سبيل المثال. يجب أن يكون لدى الزائر انطباع بأنه في صفحة عادية من الموقع، وليس في صفحة خطأ.

3. صفحة الخطأ 404 الخاصة بك لن تفسد سمعتك وسمعتك!

2.2. إعادة توجيه الروابط القديمة إلى صفحات جديدة باستخدام إعادة التوجيه 301

إحدى أخطر المشكلات التي يواجهها المالكون عند نقل موقع ويب هي الخسارة الكبيرة في مواضع الصفحة في محركات البحث. وذلك لأن المحتوى القديم يتم نقله بشكل غير صحيح إلى الموقع الجديد دون إخطار محرك البحث بحدوث تغيير في الموقع. سيؤدي ذلك إلى استبعاد الرابط من نتائج محرك البحث، وبالتالي سيؤثر على ترتيب الموقع في هذا النظام.

لتجنب ذلك، تحتاج إلى استخدام صفحة إعادة التوجيه 301 كجزء من ملف htaccess. يُعرف هذا الخطأ بإعادة التوجيه الدائمة، وسيوجه محرك البحث إلى الموقع الجديد للملف أو المحتوى المحدد. تبدو عملية إعادة التوجيه كما يلي:

إعادة توجيه 301 http://domen.ru/old-page/ http://domen.ru/archive/new-page/

تشير إعادة التوجيه 301 إلى نوع الخطأ وتعني أن إعادة التوجيه يجب أن تحدث في اللحظة التي يحاول فيها روبوت محرك البحث اكتشاف المحتوى من الرابط القديم. يعرض عنوان URL الأول رابط المحتوى القديم، ويشير عنوان URL الثاني إلى موقع المحتوى المحدث. على الرغم من أن هذا المثال يستخدم نفس النطاق لكلا عنواني URL، إلا أن إعادة التوجيه 301 تسمح لك بإعادة توجيه المستخدمين ومحركات البحث إلى أسماء نطاقات جديدة.

2.3. لصق المرايا باستخدام عمليات إعادة التوجيه 301

يتم أيضًا استخدام إعادة التوجيه 301 لإعادة توجيه الصفحات التي تحتوي على البادئة www إلى الصفحات التي لا تحتوي على www أو العكس. بالنسبة لمحركات البحث، فإن موقع your_site.ru عبارة عن موقعين لهما نفس المحتوى، ولهما العناوين: http://www.your_site.ru/ و http://your_site.ru. وتسمى هذه المواقع بالمرايا، وهكذا فإن بعض الثدي والعلاقات تغادر من موقع إلى آخر. ولمنع حدوث ذلك، ولكي تنظر محركات البحث إلى هذين الموقعين كموقع واحد، “مرايا ملتصقة ببعضها البعض”، أي إعادة توجيه المستخدمين وروبوتات البحث من موقع بالبادئة www إلى موقع بدون www أو العكس. للقيام بذلك، في ملف htaccess، تحتاج إلى الكتابة:

إعادة كتابة المحرك قيد التشغيل
ريوريتيكوند %(HTTP_HOST) ^www.your_site.ru
قاعدة إعادة الكتابة (.*) http://your_site.ru/$1

لقد قمنا بإعداد إعادة التوجيه من جميع صفحات الموقع باستخدام البادئة www

§ 3. تقييد الوصول

غالبًا ما يتم استخدام ملف التكوين الإضافي htaccess لتقييد الوصول إلى موقع ما، أو أقسام الموقع، أو ملفات محددة موجودة على الخادم.

لمنع الوصول إلى الموقع بأكمله، تحتاج إلى كتابة ما يلي في ملف .htaccesss:

رفض من الجميع

رفض الوصول فقط من عنوان IP محدد:

رفض من الجميع
أمر يسمح بالرفض
رفض من الجميع
رفض من user_ip_address

يجب استبدال "user_ip_address" بعنوان IP محدد.

للسماح بالوصول فقط من عنوان IP محدد، يمكنك كتابة:

أمر يسمح بالرفض
رفض من الجميع
السماح من user_ip_address

3.1. حماية ملف من الارتباط الساخن

لقد كتبت مقالاً وأدخلت صوراً فيه، وليس سراً أن المقالات تُسرق باستمرار، عادة من قبل المراهقين، حتى لا يضيعوا الوقت. من خلال سرقة المقالات، يقومون أيضًا بسرقة صورك وليس فقط حفظها على أجهزة الكمبيوتر الخاصة بهم ثم إضافتها إلى موقع الويب الخاص بك، يستخدم اللصوص الخادم الخاص بك عن طريق نسخ رمز URL الخاص بالصورة ولصقه على موقع الويب الخاص بهم، ولهذا السبب هناك تحميل كبير على الخادم الخاص بك.

يمكنك حماية الملفات من الارتباط الساخن باستخدام ملف .htaccess عن طريق إضافة سطرين إليه:

إعادة كتابة Cond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http(s)?://(www.)?your_site.ru.*$
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ -

بين قوسين مفصولين بالرمز "|" تتم الإشارة إلى امتدادات الملفات، والتي سيتم رفض الوصول إليها للجميع باستثناء الخادم ومستخدمي الموقع your_site.ru

لفتح الوصول إلى الملفات بهذا الامتداد لمستخدمي محرك البحث، تحتاج إلى إزالة الحظر المفروض عليهم بنفس الطريقة كما هو الحال على your_site.ru:

إعادة كتابة Cond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http(s)?://(www.)?your_site.ru
RewriteCond %(HTTP_REFERER) !^http(s)?://(www.)?yandex.ru
RewriteCond %(HTTP_REFERER) !^http(s)?://(www.)?yahoo.
RewriteCond %(HTTP_REFERER) !^http(s)?://(www.)?google.
RewriteCond %(HTTP_REFERER) !^http(s)?://(www.)?bing.
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ -

3.2. حماية كلمة المرور

باستخدام ملف التكوين الإضافي htaccesss، من الممكن تعيين كلمة مرور لدليل موقع أو ملف معين أو مجموعة ملفات بنفس الامتداد.

لتعيين كلمة مرور للدليل، تحتاج إلى الكتابة في .htaccess:

AuthName "ماذا تريد؟"
نوع المصادقة الأساسي

تتطلب مستخدمًا صالحًا

يجب وضع ملف .htaccess الذي يحتوي على هذه الأسطر في الدليل الذي نريد حظر الوصول إليه. عندما يحاول المستخدم الدخول إلى القسم المقابل من الموقع، سيعطي الخادم رمز الحالة 401 (الترخيص مطلوب) ويعرض نافذة تحتوي على حقول لإدخال اسم المستخدم وكلمة المرور والرسالة "ماذا تريد؟" المحددة في توجيه "AuthName" (الأحرف والأرقام اللاتينية فقط).

يتم تخزين أسماء المستخدمين وكلمات المرور في ملف .htpasswd. تم تحديد المسار إلى هذا الملف في التوجيه "AuthUserFile".

مهم: يتم تحديد المسار إلى ملف .htpasswd على أنه مطلق، من الدليل الجذر للخادم.

لمعرفة المسار إلى .htpasswd، والذي يجب تحديده في .htaccess، يمكنك إنشاء ملف php يحتوي على:

< ?php echo $_SERVER["DOCUMENT_ROOT"]; ? >

قم بتحميل هذا الملف إلى الخادم في نفس المكان الذي يوجد به .htpasswd، وافتحه في المتصفح. في الصفحة التي تم إنشاؤها، سترى المسار المطلق إلى الدليل المحدد من الدليل الجذر للخادم.

يمكنك تعيين كلمة مرور لملف معين كما يلي:

< Files file.txt >
AuthName "ليس للجميع"
نوع المصادقة الأساسي
AuthUserFile /home/server/your_site.ru/pass/.htpasswd

كلمة المرور لمجموعة من الملفات:

< Files "\.(sql)$" >
AuthName ""ليس للجميع""
نوع المصادقة الأساسي
AuthUserFile /home/server/your_site.ru/pass/.htpasswd

في هذه الحالة، سيتم الوصول إلى جميع الملفات ذات الامتداد .sql فقط بكلمة مرور.

ولا تنسى أن تكتب تعليقك إذا أعجبك المقال. بضع كلمات منك ومن أجلي - اعتراف من محركات البحث بأنني أكتب مقالات بشرية عادية. شكرا لكم مقدما!