برای انتقال دامنه یک سایت یا لینک قدیمی به لینک جدید، از دستورات redirect 301 در فایل htaccess باید استفاده کنید. شما با استفاده از ریدایرکت 301 میتوانید آدرس یک Domain یا لینک های آن را به صورت دائمی با آدرس و لینک مورد نظرتان جایگزین کنید.
بعضی از استفاده های معمول از ریدایرکت 301 .htaccess :
redirect فایل های مجزا روی domain یکسان :
مسیر یک فایل قدیمی تغییر کرده یا اطلاعات در حال حاضر شامل یک فایل جدید شده اند.
redirect کردن یک domain قدیمی به یک domain جدید :
شما یک وب سایت را از یک دامین قدیمی به یک دامین جدید تغییر داده اید و میخواهید هر لینک به domain قدیمی به سایت جدید ریدایرکت شود.
force کردن استفاده از www یا بدون WWW از دامنه :
بازدید های سایت شما و لینک به سایت شما میتواند به راه های گوناگونی مانند example.com یا www.example.com صورت پذیرد و شما میتوانید متد مورد نظر خود را برای نمایش سایت، انتخاب نمایید. مثلا آدرس سایت با www یا بدون www نمایش داده شود.
redirect کردن همه فایل ها با یک فرمت خاص :
فرض کنید فایل هایی با فرمت .php دارید و میخواهید همه آنها را به .html تبدیل کنید که با استفاده از redirect 301 شما میتوانید همه لینک ها را به نحوی آپدیت کنید که از فرمت جدید را استفاده کنند.
همچنین توصیه میشود مطالعه بفرمایید :
نحوه پسورد گذاشتن روی یک فولدر/دایرکتوری با استفاده از htaccess
نحوه بالا بردن سرعت وب سرور آپاچی و امنیت بخشیدن به آن با استفاده از فایل htaccess
نحوه redirect کردن فایل های مجزا :
برای ریدایرکت کردن فایل ها مثلا example.com/oldfile.htm به newfile.htm شما میتوانید از redirect 301 همانند زیر استفاده کنید :
برای redirect کردن یک فایل خاص از domain قدیمی به domain دیگر :
مثلا برای ریدایرکت کردن آدرس example.com/oldfile.htm به آدرس example.net/newfile.htm از دستور زیر استفاده میکنیم.
redirect کردن یک domain قدیمی به یک domain جدید :
اگر شما یک دامنه قدیمی دارید مانند example.com و میخواهید که از دامنه جدید example.net به جای آن استفاده کنید شما میتوانید یک redirect 301 برای کل دامین تنظیم کنید، به طوری که لینک های قدیمی example.com به لینک جدید example.net منتقل شود. برای این منظور کدهای زیر را در فایل .htaccess خود وارد کنید :
force کردن استفاده از www در آدرس domain :
یک موتور جستجو مانند گوگل به example.com و www.example.com به عنوان 2 وب سایت جداگانه نگاه میکند. آنها توصیه میکنند که شما تنها یک ورژن که دوست دارید موتورهای جستجو نمایش دهند را انتخاب کنید که با استفاده از ریدایرکت 301 انجام میشود.
اگر شما تعداد زیادی لینک به example.com دارید اما میخواهید بازدید کنندگان به www.example.com ریدایرکت شوند میتوانید با قوانین زیر استفاده از www را در دامنه خود force (یا اجباری) کنید :
force کردن عدم استفاده از ورژن www برای domain :
اگر شما تعداد زیادی لینک به www.example.com دارید اما میخواهید بازدید کنندگان به example.com ریدایرکت شوند میتوانید با قوانین زیر، عدم استفاده از www را در آدرس دامنه خود force کنید :
redirect کردن تمامی فایل ها با فرمت مشخص :
برای ریدایرکت کردن تمامی فایل ها با یک فرمت مشخص به یک فرمت دیگر، مانند example.com/file.php به example.com/file.htm از دستور زیر استفاده میکنیم :
نحوه redirect از http به https و بدون www :
برای ریدایرکت کردن آدرس یک سایت از http به https و همچنین حذف www (در http و https) از آدرس دامنه، میتوانید از کدهای زیر استفاده کنید.
مثلا :
http://example.com
http://www.example.com
https://www.example.com
به :
https://example.com
در صورتی که کد بالا کار نکرد میتوانید از کدهای زیر استفاده کنید.
اکنون شما باید بدانید که چگونه از ریدایرکت 301 دائمی روی وب سایت تان استفاده کنید تا موتورهای جستجو و بازدید کننده گانی که از لینک قدیمی هم وارد میشوند بتوانند همچنان به محتوای جدید شما دسترسی داشته باشند.
بعضی از استفاده های معمول از ریدایرکت 301 .htaccess :
redirect فایل های مجزا روی domain یکسان :
مسیر یک فایل قدیمی تغییر کرده یا اطلاعات در حال حاضر شامل یک فایل جدید شده اند.
redirect کردن یک domain قدیمی به یک domain جدید :
شما یک وب سایت را از یک دامین قدیمی به یک دامین جدید تغییر داده اید و میخواهید هر لینک به domain قدیمی به سایت جدید ریدایرکت شود.
force کردن استفاده از www یا بدون WWW از دامنه :
بازدید های سایت شما و لینک به سایت شما میتواند به راه های گوناگونی مانند example.com یا www.example.com صورت پذیرد و شما میتوانید متد مورد نظر خود را برای نمایش سایت، انتخاب نمایید. مثلا آدرس سایت با www یا بدون www نمایش داده شود.
redirect کردن همه فایل ها با یک فرمت خاص :
فرض کنید فایل هایی با فرمت .php دارید و میخواهید همه آنها را به .html تبدیل کنید که با استفاده از redirect 301 شما میتوانید همه لینک ها را به نحوی آپدیت کنید که از فرمت جدید را استفاده کنند.
همچنین توصیه میشود مطالعه بفرمایید :
نحوه پسورد گذاشتن روی یک فولدر/دایرکتوری با استفاده از htaccess
نحوه بالا بردن سرعت وب سرور آپاچی و امنیت بخشیدن به آن با استفاده از فایل htaccess
نحوه redirect کردن فایل های مجزا :
برای ریدایرکت کردن فایل ها مثلا example.com/oldfile.htm به newfile.htm شما میتوانید از redirect 301 همانند زیر استفاده کنید :
کد PHP:
Redirect 301 /oldfile.htm /newfile.htm
برای redirect کردن یک فایل خاص از domain قدیمی به domain دیگر :
مثلا برای ریدایرکت کردن آدرس example.com/oldfile.htm به آدرس example.net/newfile.htm از دستور زیر استفاده میکنیم.
کد PHP:
Redirect 301 /oldfile.htm http://example.net/newfile.htm
redirect کردن یک domain قدیمی به یک domain جدید :
اگر شما یک دامنه قدیمی دارید مانند example.com و میخواهید که از دامنه جدید example.net به جای آن استفاده کنید شما میتوانید یک redirect 301 برای کل دامین تنظیم کنید، به طوری که لینک های قدیمی example.com به لینک جدید example.net منتقل شود. برای این منظور کدهای زیر را در فایل .htaccess خود وارد کنید :
کد PHP:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]
force کردن استفاده از www در آدرس domain :
یک موتور جستجو مانند گوگل به example.com و www.example.com به عنوان 2 وب سایت جداگانه نگاه میکند. آنها توصیه میکنند که شما تنها یک ورژن که دوست دارید موتورهای جستجو نمایش دهند را انتخاب کنید که با استفاده از ریدایرکت 301 انجام میشود.
اگر شما تعداد زیادی لینک به example.com دارید اما میخواهید بازدید کنندگان به www.example.com ریدایرکت شوند میتوانید با قوانین زیر استفاده از www را در دامنه خود force (یا اجباری) کنید :
کد PHP:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
force کردن عدم استفاده از ورژن www برای domain :
اگر شما تعداد زیادی لینک به www.example.com دارید اما میخواهید بازدید کنندگان به example.com ریدایرکت شوند میتوانید با قوانین زیر، عدم استفاده از www را در آدرس دامنه خود force کنید :
کد PHP:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]
redirect کردن تمامی فایل ها با فرمت مشخص :
برای ریدایرکت کردن تمامی فایل ها با یک فرمت مشخص به یک فرمت دیگر، مانند example.com/file.php به example.com/file.htm از دستور زیر استفاده میکنیم :
کد PHP:
RewriteEngine On
RewriteCond %{REQUEST_URI} .php$
RewriteRule ^(.*).php$ /$1.htm [R=301,L]
نحوه redirect از http به https و بدون www :
برای ریدایرکت کردن آدرس یک سایت از http به https و همچنین حذف www (در http و https) از آدرس دامنه، میتوانید از کدهای زیر استفاده کنید.
مثلا :
http://example.com
http://www.example.com
https://www.example.com
به :
https://example.com
کد PHP:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
کد PHP:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]