HTTP 301
في شبكة الإنترنت العالمية ، يُستخدم رمز HTTP 301 ، أو 301 Moved Permanently ، للإشارة إلى إعادة التوجيه الدائم. ويعني هذا أنه يجب تحديث الروابط أو السجلات المؤدية إلى عنوان URL هذا إلى الوجهة المحددة في حقل الموقع (Location) ضمن استجابة الخادم. وتُعتبر إعادة التوجيه 301 من أفضل الممارسات لترقية المستخدمين من HTTP إلى HTTPS .
تنص وثيقة RFC 2616 [ 1 ] على ما يلي:
- إذا كان لدى العميل إمكانيات تعديل الروابط، فيجب عليه تحديث جميع المراجع إلى عنوان URL للطلب.
- يمكن تخزين الاستجابة مؤقتًا ما لم يُذكر خلاف ذلك.
- ما لم تكن طريقة الطلب هي HEAD، يجب أن يحتوي الكيان على ملاحظة نصية صغيرة مع رابط تشعبي إلى عنوان URL الجديد (أو عناوين URL الجديدة).
- إذا تم استلام رمز الحالة 301 استجابة لطلب من أي نوع آخر غير GET أو HEAD، فيجب على العميل أن يسأل المستخدم قبل إعادة التوجيه.
أمثلة
طلب العميل:
طلب GET إلى /index.php HTTP / 1.1 Host : www.example.orgاستجابة الخادم:
HTTP / 1.1 301 تم النقل بشكل دائم الموقع : https://www.example.org/index.aspاستخدام ملف .htaccess
لإصلاح المشاكل المتعلقة بالملفات أو المجلدات غير الموجودة باستخدام ملف .htaccess موزع:
إعادة توجيه 301 /calendar.html /calendar/ إعادة توجيه 301 /not_found.html / فيما يلي مثال على استخدام ملف .htaccess لإعادة توجيه عنوان URL غير آمن إلى عنوان آمن بدون "www" في البداية:
RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://example.com/$1 [R,L] HTML ثابت
إعادة توجيه مخصصة للمجلد، باستخدام ملف index.html:
< meta http-equiv = " refresh " content = " 0 ; url = / " / > <p> <a href="/"> الرئيسية </a> </p>استخدام لغات البرمجة
إليك مثال باستخدام Perl CGI.pm :
print redirect ( "https://example.com/newpage.html" );إليك مثال باستخدام إعادة توجيه PHP :
<?php header ( "Location: https://example.com/newpage.html" , true , 301 ); exit ;إليك إحدى طرق إعادة التوجيه باستخدام Express.js :
app.all ( " / old/url" , ( req , res ) => { res.redirect ( 301 , " / new /url" ); });خادم التخزين المؤقت
بنفس البساطة بالنسبة لتكوين nginx :
location /old/url/ { return 301 /new/url/ ; }محرك البحث
يوصي كل من محركي بحث Bing و Google باستخدام إعادة التوجيه 301 لتغيير عنوان URL للصفحة كما يظهر في نتائج البحث، بشرط أن يتغير هذا العنوان بشكل دائم وألا يُعاد تغييره قريبًا. [ 2 ] [ 3 ]
انظر أيضاً
مراجع
- ↑ فيلدينغ وآخرون (يونيو 1999). 10.3.2 301 نُقل بشكل دائم . IETF. ص 61. القسم 10.3.2. doi : 10.17487/RFC2616 . RFC 2616 .
- ↑ "أداة نقل الموقع" . مساعدة مشرفي المواقع من Bing ودليل الاستخدام .
- ↑ "عمليات إعادة التوجيه 301" . مساعدة أدوات مشرفي المواقع من جوجل .
- رموز حالة بروتوكول نقل النص التشعبي
