Hostwinds دروس

نتائج البحث عن:


جدول المحتويات


ما هو ملف .htaccess؟
تمكين ملف .htaccess
الخطوة 1: فتح ملف المضيف الظاهري
الخطوة 2: أضف "السماح" بتوجيه "
الخطوة 3: حفظ الملف
الخطوة 4: أعد تشغيل Apache
إنشاء ملف .htaccess
إعادة توجيه عنوان URL واحد باستخدام توجيه "إعادة التوجيه"
إذا كنت ترغب في إعادة توجيه عنوان URL إلى عنوان URL آخر على نفس المجال:
إذا كنت ترغب في إعادة توجيه عنوان URL إلى واحد في مجال مختلف:
إعادة توجيه عنوان URL بالجملة باستخدام توجيه "Rewriterule"
تحقق مما إذا تم تمكين mod_rewrite
للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):
للأنظمة المستندة إلى دبيان (Ubuntu ، Debian ، Linux Mint):
كيفية تمكين "mod_rewrite"
للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):
للأنظمة التي تتخذ من دبيان مقراً لها (Ubuntu ، Debian ، Linux Mint):
إعادة توجيه عناوين URL على أساس نمط مشترك
إعادة توجيه مجال كامل إلى مجال جديد
إجبار HTTPS بتوجيه "Rewriterule"
إجبار HTTPS على كل حركة المرور
إجبار HTTPS على مجال معين
إضافة وإزالة بادئة "www"

كيفية إنشاء إعادة توجيه باستخدام ملف .htaccess

ما هو ملف .htaccess؟
تمكين ملف .htaccess
الخطوة 1: فتح ملف المضيف الظاهري
الخطوة 2: أضف "السماح" بتوجيه "
الخطوة 3: حفظ الملف
الخطوة 4: أعد تشغيل Apache
إنشاء ملف .htaccess
إعادة توجيه عنوان URL واحد باستخدام توجيه "إعادة التوجيه"
إذا كنت ترغب في إعادة توجيه عنوان URL إلى عنوان URL آخر على نفس المجال:
إذا كنت ترغب في إعادة توجيه عنوان URL إلى واحد في مجال مختلف:
إعادة توجيه عنوان URL بالجملة باستخدام توجيه "Rewriterule"
تحقق مما إذا تم تمكين mod_rewrite
للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):
للأنظمة المستندة إلى دبيان (Ubuntu ، Debian ، Linux Mint):
كيفية تمكين "mod_rewrite"
للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):
للأنظمة التي تتخذ من دبيان مقراً لها (Ubuntu ، Debian ، Linux Mint):
إعادة توجيه عناوين URL على أساس نمط مشترك
إعادة توجيه مجال كامل إلى مجال جديد
إجبار HTTPS بتوجيه "Rewriterule"
إجبار HTTPS على كل حركة المرور
إجبار HTTPS على مجال معين
إضافة وإزالة بادئة "www"

ما هو ملف .htaccess؟

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

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

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

تمكين ملف .htaccess

يخبر تمكين ملف .htaccess خوادم الويب Apache بالتعرف على التوجيهات المكتوبة وقبولها ، والتي ستعمل على إعداد تكوينات الخادم الافتراضية على مستوى الدليل.

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

الخطوة 1: فتح ملف المضيف الظاهري

باستخدام محرر النصوص المفضل لديك (سنستخدمه نانو لهذا المثال) ، افتح ملف تكوين موقع الويب الخاص بك مع الأمر التالي:

للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):

sudo nano /etc/httpd/conf/httpd.conf

للأنظمة المستندة إلى دبيان (Debian ، Ubuntu ، Linux Mint):

sudo nano /etc/apache2/sites-available/domain_name.conf

ستبدو كتلة ملفات VirtualHost شيئًا من هذا القبيل:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName domain_name
    ServerAlias www.domain_name
    DocumentRoot /var/www/domain_name/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

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

  • '/var/www/domain_name/public_html' (أعلاه) يشير إلى أن ملفات موقع الويب الخاص بك في دليل فرعي يسمى "public_html ' في حدود 'اسم النطاق"الدليل ، هيكل شائع استخدام الملفات التي تواجه العام عن الملفات الأخرى المتعلقة بالموقع.إن تمكين ملف .htaccess في هذا الدليل سيؤثر فقط على الملفات داخل "public_html".
  • مثال:
/var/www/domain_name/
├── public_html/
│   ├── index.html
│   ├── about.html
│   └── .htaccess
└── logs/
  • '/var/www/domain_name' يشير إلى أن جميع ملفات موقع الويب الخاص بك موجودة مباشرة في 'اسم النطاق' الدليل.يعني هذا الإعداد أن جميع توجيهات ملفات .htaccess ستطبق على كل ملف (يواجه عامًا أم لا) ضمن هذا الدليل.
  • مثال:
/var/www/domain_name/
├── index.html
├── about.html
└── .htaccess

على الرغم من أن كلاهما صالح ، من المهم أن تكون على دراية بملفات الموقع التي قد ترغب أو لا ترغب في تأثرها بملف .htaccess.

الخطوة 2: أضف "السماح" بتوجيه "

في حدود استضافة افتراضية كتلة إضافة كتلة محتوى الدليل التالي:

<VirtualHost *:80>  

<Directory /var/www/domain_name/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

</VirtualHost>

هذا التوجيه ، على وجه التحديد 'السماح لجميع'هو ما يسمح لك بتطبيق. htaccess توجيهات عبر جميع ملفات موقع الويب ضمن الدليل المحدد.

الخطوة 3: حفظ الملف

بعد إضافة كتلة الدليل ، احفظ وإغلاق الملف.في نانو ، يمكن القيام بذلك بالضغط Ctrl +x، ثم ص والضغط أدخل.

الخطوة 4: أعد تشغيل Apache

للتمكين الكامل لملف .htaccess ، ستحتاج إلى إعادة تشغيل Apache:

للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):

sudo systemct1 restart httpd

للأنظمة المستندة إلى دبيان (Debian ، Ubuntu ، Linux Mint):

sudo systemct1 restart apache2

هذا كل شيء!سيسمح لك Apache الآن باستخدام ملفات .htaccess ضمن الدليل المحدد.

إنشاء ملف .htaccess

بدعم من .htaccess ممكّن ، يمكننا الآن إنشاء ملف .htaccess.

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

ملحوظة: يزيل 'public_htmlإذا لم تمكن ملف .htaccess في هذا الدليل الفرعي.

sudo nano /var/www/html/domain_name/public_html/.htaccess

لقد قمت الآن بإنشاء ملف .htaccess ويمكنك البدء في وضع توجيهات إعادة توجيه.

إعادة توجيه عنوان URL واحد باستخدام توجيه "إعادة التوجيه"

ال 'إعادة توجيه"التوجيه هو الخيار الأكثر وضوحًا لإعادة توجيه 1 إلى 1.يمكن استخدام هذا التوجيه لإعادة توجيه عناوين URL على نفس المجال أو إلى مجال مختلف.ستعمل التوجيهات التالية على أي رموز حالة 3xx (301 و 302 و 307 و 308)

إذا كنت ترغب في إعادة توجيه عنوان URL إلى عنوان URL آخر على نفس المجال:

Redirect 301 "/original_url_path" "/new_url_path"

إذا كنت ترغب في إعادة توجيه عنوان URL إلى واحد في مجال مختلف:


Redirect 301 "/orignal_url_path" "https://new_domain.com/new_url_path"

إعادة توجيه عنوان URL بالجملة باستخدام توجيه "Rewriterule"

ال 'إعادة كتابةيتيح لك التوجيه إضافة قواعد إضافية لإعادة التوجيه ، مثل مطابقة الأنماط ، من خلال استخدام التعبيرات والظروف العادية.

تحقق مما إذا تم تمكين mod_rewrite

من أجل استخدام "Rewriterule" ، نحتاج إلى التأكد من تمكين وحدة "mod_rewrite".

للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):
httpd -M | grep rewrite
للأنظمة المستندة إلى دبيان (Ubuntu ، Debian ، Linux Mint):
apache2ctl -M | grep rewrite

إذا رأيت الإخراج التالي ، يتم تمكين وحدة "mod_rewrite"

rewrite_module (shared)

كيفية تمكين "mod_rewrite"

للأنظمة القائمة على القبعات (Centos ، Fedora ، Rhel):

الخطوة 1: افتح ملف تكوين Apache (عادةً "httpd.conf" أو "Apache2.Conf")

sudo nano /etc/httpd/conf/httpd.conf

الخطوة 2: تأكد من عدم التعليق على السطر التالي (لا # في البداية).إذا كان الأمر كذلك ، ما عليك سوى حذف "#"

LoadModule rewrite_module modules/mod_rewrite.so

الخطوه 3: أعد تشغيل Apache لتطبيق التغييرات

sudo systemctl restart httpd
للأنظمة التي تتخذ من دبيان مقراً لها (Ubuntu ، Debian ، Linux Mint):

الخطوة 1: تمكين وحدة "mod_rewrite"

sudo a2enmod rewrite

الخطوة 2: أعد تشغيل Apache لتطبيق التغييرات

sudo systemctl restart apache2

إعادة توجيه عناوين URL على أساس نمط مشترك

إذا كان لديك نمط شائع في عناوين URL القديمة ، مثل نفس الدليل الفرعي (على سبيل المثال /Blog) ، يمكنك استخدام تعبيرات منتظمة لمطابقة وإعادة توجيهها:

RewriteEngine On

RewriteRule ^old-section/(.*)$ http://www.example.com/new-section/$1 [R=301,L]

في هذا المثال ، أي عنوان URL يبدأ بـ 'القسم القديم/' سيتم إعادة توجيهها إلى 'قسم جديد/' مع نفس اللاحقة.

إعادة توجيه مجال كامل إلى مجال جديد

سيقوم التوجيه التالي بإعادة توجيه جميع حركة المرور من "old-domain.com' ل 'new-domain.com، "الحفاظ على مسار URI.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]

إجبار HTTPS بتوجيه "Rewriterule"

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

هناك عدة طرق لإجبار HTTPs باستخدام توجيه "إعادة كتابة":

إجبار HTTPS على كل حركة المرور

عندما تجبر HTTPS على "كل حركة المرور" ، فأنت تطلب من الخادم إعادة توجيه كل طلب HTTP الوارد إلى HTTPS ، بغض النظر عن المجال أو نطاق فرعي.

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

تعتبر طريقة HTTPS القسرية هذه مثالية للخوادم التي تستضيف مجالًا واحدًا.

إجبار HTTPS على مجال معين

عندما تجبر HTTPS على مجال معين ، فأنت تطلب من الخادم إعادة توجيه طلبات HTTP إلى HTTPS فقط لهذا المجال المعين (أو النطاق الفرعي).

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?specific-domain\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

إضافة وإزالة بادئة "www"

يمكنك أيضًا استخدام ملف .htaccess بالتزامن مع توجيه "إعادة كتابة" لإعادة توجيه "www".

لإضافة بادئة "www":

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

لإزالة بادئة "www":

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

كتب بواسطة Hostwinds Team  /  يونيو 3, 2024