إعادة توجيه Apache .htaccess 301 عبارة عن إعادة توجيه من جانب الخادم وإعادة توجيه دائمة.
لذا فإن ملف .htaccess هو ملف تكوين خادم Apache. يتم استخدام ملف .htacces s لكل دليل.
يؤدي استخدام ملف .htaccess إلى تقليل أداء الخادم. يجب تجنب استخدام .htaccess عندما يكون لديك وصول إلى ملف التكوين الرئيسي لخادم Apache httpd.conf. عادةً ما لا تتمكن مواقع الاستضافة المشتركة من الوصول إلى ملف httpd.conf ويجب أن تستخدم ملف htaccess .
تُعلم استجابة إعادة التوجيه 301 هذه محركات البحث أن الصفحة قد انتقلت بشكل دائم من عنوان URL القديم إلى عنوان URL الجديد.
تقوم محركات البحث أيضًا بنقل تصنيف صفحة URL القديم إلى عنوان URL الجديد.
أضف هذا الرمز أو أنشئ ملف .htaccess جديدًا في دليل old-page.html.
إعادة توجيه دائمة من old-page1.html إلى new-page.html.
.htaccess:
Redirect 301 /old-page1.html http://www.mydomain.com/new-page1.html
إعادة توجيه دائمة من كافة صفحات المجال إلى newdomain1.com.
يجب أن يكون ملف .htaccess في الدليل الجذر للموقع القديم.
.htaccess:
Redirect 301 / http://www.newdomain1.com/
إذا قمت بتحميل ملف .htaccess إلى دليل old-page.html ولم تعمل إعادة التوجيه ، فهذا يعني عادةً أن ملفات .htaccess لم يتم تمكينها في ملف تكوين خادم Apache httpd.conf.
يمكن تمكين ملف .htaccess عن طريق إضافة ملف httpd.conf لخادم Apache.
httpd.conf:
<Directory /srv/www/rapidtable.com/public_html/web/dev/redirect>
AllowOverride All
</Directory>
هام: هذا الإعداد غير موصى به لأنه يبطئ خادم Apache.
إذا كان لديك إذن بتغيير ملف httpd.conf ، فمن الأفضل إضافة توجيه إعادة التوجيه في httpd.conf بدلاً من ملف .htaccess .
تحقق مما إذا كانت مكتبة إعادة كتابة الوحدة النمطية mod_rewrite.so قد تم تحميلها بواسطة خادم اباتشي:
$ apache2ctl -M
أضف التعليمات البرمجية التالية إلى ملف httpd.conf.
إذا لم يكن mod_rewrite.so الخاص بمكتبة الوحدة النمطية متاحًا ، فقم بإلغاء التعليق على السطر الأول لتحميل وحدة إعادة الكتابة.
httpd.conf:
# LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
<Directory /srv/www/rapidtable.com/public_html/web/dev/redirect>
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
</Directory>
لا تنس إعادة تشغيل خادم Apache بعد تحديث httpd.conf:
$ sudo /etc/init.d/apache2 restart
Advertising