learn

ریدایرکت www به بدون www و برعکس در htaccess

نمونهٔ قواعد Apache برای یکسان‌کردن نام میزبان همراه با پیش‌نیاز DNS و گواهی معتبر.

ریدایرکت www به انتخاب یک نام اصلی برای سایت کمک می‌کند. داشتن نسخهٔ با www و بدون آن به‌خودی‌خود به معنی جریمهٔ سنگین گوگل نیست، اما لینک‌ها و نشانی اصلی باید هماهنگ باشند. قبل از تغییر، نامی را انتخاب کنید که قرار است در لینک‌های داخلی، canonical و تنظیمات برنامه استفاده شود.

پیش‌نیاز ریدایرکت www

هر دو نام باید به سرویس مناسب برسند و گواهی معتبر داشته باشند. مرورگر پیش از دریافت ریدایرکت HTTPS، اتصال امن مبدأ را برقرار می‌کند. این نمونه‌ها مخصوص Apache با mod_rewrite و اجازهٔ استفاده از .htaccess هستند؛ روی Nginx بدون لایهٔ سازگار کاربرد مستقیم ندارند.

از www به بدون www

در .htaccess ریشهٔ واقعی همین سایت، نمونهٔ زیر را با دامنهٔ خود جایگزین کنید. قواعد موجود برنامه را حذف نکنید. این قاعده فقط نام دارای www را به مقصد ثابت HTTPS می‌فرستد و به‌تنهایی تمام حالت‌های HTTP را پوشش نمی‌دهد.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

از بدون www به www

اگر نام اصلی شما www دارد، به‌جای نمونهٔ بالا از این جهت استفاده کنید. هر دو قاعدهٔ متضاد را هم‌زمان فعال نکنید؛ نتیجه می‌تواند حلقهٔ بی‌پایان باشد.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]

مسیر و دامنه را دقیق نگه دارید

example.com فقط نمونه است و باید در شرط و مقصد هماهنگ عوض شود. مقصد ثابت از انتقال بر اساس نام میزبان ناخواسته جلوگیری می‌کند. REQUEST_URI مسیر درخواست را نگه می‌دارد؛ قواعد دیگر یا برنامه ممکن است بعداً آن را تغییر دهند. نشانی دارای پارامتر، حروف فارسی و یک مسیر داخلی را جدا آزمایش کنید.

تداخل با وردپرس و CDN

قواعد سفارشی را داخل بخش تولیدخودکار وردپرس نگذارید، چون برنامه ممکن است آن بخش را بازنویسی کند. جای مناسب قاعده به ترتیب سایر قواعد وابسته است. اگر CDN یا پراکسی هم نام اصلی را تغییر می‌دهد، تنظیم آن باید با برنامه و سرور هماهنگ باشد. اجبار HTTPS موضوعی جداست و باید بدون حلقه طراحی شود.

نتیجهٔ درست چیست؟

نشانی فرعی باید مستقیم به همان صفحه در نام اصلی برسد، نه به خانه یا زنجیرهٔ طولانی. کش ریدایرکت دائمی می‌تواند آزمایش را گمراه کند؛ تغییر را ابتدا در محیط تست انجام دهید. مبنای فنی نمونه‌ها راهنمای mod_rewrite است. دربارهٔ انتخاب نشانی اصلی نیز مستند canonical گوگل را ببینید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب