در این آموزش به شما نشان خواهیم داد که چگونه فرآیند ریدایرکت دامنه را انجام دهید. ریدایرکت دامنه که فروارد URL نیز نامیده می شود، یک تکنیک وب جهانی است که سبب می شود تا یک صفحه ی وب با بیش از یک آدرس URL در دسترس قرار بگیرد. هنگامی که مرورگر وب می خواهد یک URL هدایت شده را باز کند ، یک صفحه با آدرس دیگری باز می شود. راه های متعددی برای ریدایرکت دامنه وجود دارد که به عواملی هم چون نوع وب سرور مورد استفاده نیز وابسته است. در این آموزش ما قصد داریم به شما نشان دهیم که عملیات ریدایرکت دامنه در وب سرور آپاچی و هدایت URL در وب سرور NGINX چگونه صورت می پذیرد. در ادامه با ما همراه باشید.
نحوه ی ریدایرکت دامنه از طریق وب سرور آپاچی
سرور Http آپاچی یک نرم افزار وب سرور متن باز است که قابلیت cross-platform دارد. cross-platform به این معنا است که در چندین نوع دستگاه مختلف قابل اجرا می باشد. البته لازم به ذکر است که 92 درصد از کاربران این وب سرور از آن بر روی توزیع های مختلف لینوکس استفاده می کنند.
اگر آپاچی را روی سرور خود ندارید، نصب کنید.
در توزیع های لینوکس مبتنی بر RPM مانند CentOS و Fedora برای نصب آپاچی باید از دستور زیر کمک بگیرید :
yum install httpd
مطمئن شوید که ماژول mod_rewrite فعال است:
httpd -M | grep rewrite rewrite_module (shared)
در اوبونتو و دبیان دستور زیر را اجرا کنید:
sudo apt-get update sudo apt-get install apache2
ماژول mod_rewrite را فراخوانی کنید :
sudo a2enmod rewrite
سرویس آپاچی را ری استارت کنید :
sudo service apache2 restart
یک هاست مجازی ساده در آپاچی بسازید :
یک هاست مجازی ساده در آپاچی برای دامنه ی قدیمی که می خواهید آن را به یک دامنه ی جدید هدایت کنید، بسازید. از دستورالعمل مسیریابی دائمی زیر برای هدایت سرویس گیرنده وب به آدرس جدید استفاده کنید:
<VirtualHost *:80>
ServerName دامنه ی قبلی.com
ServerAlias www.دامنه ی قبلی.com
RedirectPermanent / http://www.دامنه ی جدید.com/
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
سرور آپاچی را ری استارت کنید :
برای اعمال تغییرات سرور آپاچی را ری استارت کنید. هم چنین می توانید با استفاده از قوانین بازنویسی فایل .htaccess که در ریشه ی دایرکتوری دامنه ی قبلی قرار گرفته است، نام دامنه ای را به دیگری ریدایرکت کنید. یک فایل .htaccess جدید ایجاد کنید و قوانین زیر را به آن اضافه کنید:
RewriteEngine on RewriteCond %{HTTP_HOST} ^old-domain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.old-domain.com [NC] RewriteRule ^(.*)$ http://new-domain.com/$1 [L,R=301,NC]
نحوه ی ریدایرکت دامنه از طریق وب سرور NGINX
Nginx یک وب سرور با کارایی بالا ، رایگان و متن باز است. Nginx به متعادل کننده ی بارگذاری (load balancing) و پروکسی معکوس (reverse proxying) و ذخیره سازی (caching) نیز معروف است. پیکربندی آن ساده و استفاده ی آن از حافظه کم است.
آپاچی را متوقف کنید.
آپاچی روی سرور خود را با دستور زیر متوقف سازید:
service httpd stop
سرویس آپاچی را غیر فعال کنید.
systemctl disable httpd
NGINX را بر روی توزیع های لینوکس مبتنی بر RPM نصب کنید.
برای نصب وب سرور NGINX بر روی توزیع های لینوکس مبتنی بر RPM مانند CentOS و Fedora باید از دستورات زیر کمک بگیرید :
yum install epel-release yum install nginx systemctl enable nginx service nginx start
NGINX را بر روی اوبونتو نصب کنید.
در آموزش نحوه ی نصب Nginx بر روی اوبونتو تمام جزئیات مرتبط با نصب این وب سرور را بیان کردیم. برای نصب NGINX بر روی اوبونتو و سایر توزیع های لینوکس که مبتنی بر دبیان هستند از دستورات زیر استفاده نمایید :
sudo service apache2 stop sudo apt-get remove --purge apache2 apache2-utils sudo rm -rf /etc/apache2 sudo apt-get update sudo apt-get install nginx
اگر پیامی مبنی بر عدم در دسترس بودن پکیج های NGINX یا موارد مشابهی رو به رو شدید، NGINX را ار طریق مخازن آن نصب کنید:
sudo apt-get install python-software-properties sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx
Nginx را استارت کنید.
سرویس nginx را از طریق دستور زیر آغاز کنید:
sudo service nginx start
پیکربندی Nginx
جهت ریدایرکت دامنه باید بلوک های سرور nginx را ویرایش کنید و اگر تاکنون ساخته نشده اند، یک بلاک جدید بسازید. خطوط زیر را اضافه کنید:
server { listen 80; server_name old-domain.com www.old-domain.com; return 301 http://www.new-domain.com$request_uri; }
اگر از نسخه ی قدیمی تر nginx یعنی نسخه ی 0.9.1 و قبل تز از آن استفاده می کنید، دستورات زیر را اضافه کنید:
server { listen 80; server_name old-domain.com www.old-domain.com; rewrite ^ http://www.new-domain.com$request_uri? permanent; }
nginx را ری استارت کنید.
برای اعمال تغییرات فراموش نکنید که باید سرویس nginx را مجددا راه اندازی نمایید :
service nginx restart
بدیهی است که اگر از سرور های مجازی لینوکس تک کلود استفاده نمایید دیگر نیازی به ریدیارکت دامنه نخواهید داشت. تنها کافیست به متخصصین و پشتیبانان ما که در 7 روز هفته به صورت 24 ساعته پاسخگوی شما عزیزان هستند، درخواست خود را مطرح نمایید.