همه چیز درباره وضعیت 308 Permanent Redirect در وب
در دنیای وب و HTTP، کدهای وضعیت یا همان Status Codes نقش بسیار مهمی را در تعاملات بین سرور و مرورگر ایفا میکنند. یکی از این کدها، کد وضعیت 308 Permanent Redirect است که راجع به هدایت دائمی یک URL صحبت میکند. در این مقاله، قصد داریم درباره این کد و کاربردهای آن بیشتر صحبت کنیم و همچنین برخی از نکات فنی مربوط به آن را بررسی کنیم.
کد 308 Permanent Redirect به گونهای طراحی شده است که وقتی URL یک صفحه به طور دائمی تغییر پیدا میکند، مرورگر میداند که از این پس باید از URL جدید استفاده کند. این کد بیشترین کاربرد را در بهبود عملکرد و بهینهسازی مسیرهای سایت دارد. به عبارت دیگر، اگر شما URL یک صفحه را به صورت دائمی تغییر دهید، با استفاده از این کد میتوانید به مرورگر بگویید که همیشه از مسیر جدید استفاده کند.
یکی از مزایای استفاده از 308 Permanent Redirect، حفظ اعتبار صفحه اصلی در نگاه موتورهای جستجو است. به این معنی که وقتی URL یک صفحه تغییر پیدا میکند، موتورهای جستجو متوجه این تغییر میشوند و لینکها و اعتبار صفحه قبلی را به URL جدید منتقل میکنند. این امر به حفظ و یا حتی بهبود رتبهبندی سئوی صفحه کمک میکند.
دقت داشته باشید که تفاوت کد 308 با کد 301 در این است که 308 ثابت میکند که تمام درخواستهای آینده باید از HTTP به HTTPS تغییر پیدا کنند، مثلاً وقتی میخواهید سایتتان را به HTTPS انتقال دهید، و این تغییر باید دائمی باشد.
در عین حال، استفاده نادرست و بیش از حد از این نوع ریدایرکت ممکن است باعث مشکلاتی مانند ایجاد حلقههای بیپایان (Redirect Loops) شود. بنابراین، هنگام پیادهسازی این نوع ریدایرکت باید بسیار دقت کنید و اطمینان حاصل کنید که مسیرهایی که تعیین میکنید، به درستی تنظیم شدهاند.
در ادامه، مثال سادهای از نحوه تنظیم 308 Permanent Redirect را با استفاده از تنظیمات سرور نشان میدهیم:
<VirtualHost *:80>
ServerName example.com
Redirect 308 / http://www.example.com/
</VirtualHost>
توضیح خط به خط کد:
<VirtualHost *:80>
این خط نشان میدهد که پیکربندی برای تمام کاربران متصل به پورت 80 (پورت پیشفرض HTTP) است.
ServerName example.com
در اینجا نام دامنه اصلی که ریدایرکت برای آن باید انجام شود تعریف شده است.
Redirect 308 / http://www.example.com/
این خط به مرورگر میگوید که از این پس تمامی درخواستهایی که به example.com میرسند باید به آدرس جدید منتقل شوند و این انتقال دائمی است.
</VirtualHost>
این خط نشاندهنده پایان تنظیمات برای این مجازی هاست است.