Seo - Оптимизация на сайтове за търсачки
seo - оптимизация на сайтове за търсачки, статии

July 30th, 2007

Mod_Rewrite .htaccess и Wildcard DNS - Пренасочване на subdomain към главен domain

След няколко часа “борба” с mod_rewrite успешно подкарах пренасочването на субдомейните. Общо взето всичко става в две стъпки - настройка на DNS сървъра и добавяне на няколко реда в .htaccess

Стъпка 1: настройка на DNS

С Wildcard DNS се пренасочват всички субдомейни към главния домеийн. Ако сте на хостинг или няма как да пипате по конфигурацията, помолете учтиво вашата хостинг компания да ви пусне Wildcard DNS-a, те трябва да знаят какво е това. Първо да уточним какво е named. Това е всъщност DNS сървъра, стартиран на вашата машина. По принцип като добавяте субдомейни, трябва да изчаквате известно време за да се актуализират записите в по главните сървъри. Ако разполагате със собствен сървър трябва да направите следното:

  1. Отворете / Създайте файла /var/named/yourdomain.com.db
  2. Добавете този ред -> *.yourdomain.com. IN CNAME yourdomain.com.
  3. Запишете файла и рестартирайте named

Стъпка 2: Добавяне на редовете в .htaccess . При мен субдомейните пренасочват към следната страница: index.php?show=profile&action=view&username=myusername.

  1. Ако нямате .htaccess файл създайте го
  2. Добавете следните редове ( по моя пример) :
    1. RewriteCond %{HTTP_HOST} !www\.
      RewriteCond %{HTTP_HOST} (.*)\.yourdomain\.com
      RewriteRule .* index.php?show=profile&action=view&username=%1 [L]

Можете да пренасочвате към където си пожелате примерно искате blog.yourdomain.com да сочи към yourdomain.com/blog.php трябва да напишете следното

  1. RewriteCond %{HTTP_HOST} blog\.yourdomain\.com
  2. RewriteRule .* blog.php [QSA, L]

QSA означава Query String Append и ще добави query стринг-а към blog.yourdomain.com

Запазете .htaccess файла и рестартирайте Apache.

Готово! Сега можете да тествате и да се радвате на новите си поддомейни.