@viktorross

Проблема с субдоменами, почему может не работает?

Здравствуйте, подскажите что-нибудь, у меня через htaccess настроено несколько вариантов субдоменов(фактически их не существует, физических директорий под них нет) , они создаются под псевдонимом *.site.ru и в htaccess такая запись
RewriteCond %{HTTP_HOST} !www.site.ru$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-_]+).site.ru [NC]
RewriteRule (.*) %{SCRIPT_FILENAME}?crt_city=%2 [NC,QSA]


Один вариант субдомена создается под город, второй вариант , как страничка пользователя, т.е подставляется имя которое он указал при регистрации.

Первый вариант работает, второй нет..

Перенаправляет на $config_live_site -это главная страница

вот код который создает ссылку

global $config_live_site;

		// check if not added already
		if(stristr($config_live_site, $url_subdomain)) {
			// if subdomain is included cannonical url is not needed
			if($cannonical)  return '';
			
			$subdomain_link = $config_live_site;
		}
		else {
			global $main_domain;
			if(stristr($config_live_site, "www"))
				$subdomain_link = str_replace("https://www.", "https://".$url_subdomain.".", "https://".$main_domain);
			else 
				$subdomain_link = str_replace("https://", "https://".$url_subdomain.".", "https://".$main_domain);
		}
		
		$details_link=$subdomain_link."/".$id."-".$url_title."/".$this->links["details"];

		return $details_link;
	}

	// SEF dealer page link
	function makeDealerLink($id, $dealer_name='', $page='', $canonical=0) {

		// subdomain dealer link
		global $ads_settings;
		$usr = new users();
		if($ads_settings['dealer_subdomain'] && $usr->allowStoreBanner($id)) { 
			$subdomain = $usr->getDealerSubdomain($id);
			
			global $main_domain; 
			$site_url = "https://".$subdomain.".".$main_domain;

			$page_str="";
			if($page) $page_str=$page."/";
			$dealer_link = $site_url."/".$page_str;
			
			return $dealer_link;
		}
		
		// non subdomain dealer link
		if($dealer_name) $url_dealer = _urlencode($dealer_name);
		else $url_dealer = _urlencode(users::getContactName($id));

		global $config_live_site;
		$site_url = $config_live_site;
		if($canonical) { global $main_domain; $site_url = "https://".$main_domain; }

		$page_str="";
		if($page) $page_str=$page."/";
		$dealer_link=$site_url."/".$id."-".$url_dealer."/".$page_str.$this->links["store"];

		return $dealer_link;

	}

	// SEF dealer page link
	function makeUserListingsLink($id, $dealer_name='', $page='', $canonical=0) {

		if($dealer_name) $url_dealer = _urlencode($dealer_name);
		else $url_dealer = _urlencode(users::getContactName($id));

		global $config_live_site;
		$site_url = $config_live_site;
		if($canonical) { global $main_domain; $site_url = "https://".$main_domain; }
		$page_str="";
		if($page) $page_str=$page."/";
		$dealer_link=$site_url."/".$id."-".$url_dealer."/".$page_str.$this->links["user_listings"];

		return $dealer_link;

	}

	// SEF contact details page link
	function makeUserDetailLink($id, $contact_name='', $canonical=0) {

		global $config_live_site;
		$site_url = $config_live_site;
		if($canonical) { global $main_domain; $site_url = "https://".$main_domain; }

		if($contact_name) $url_contact = _urlencode($contact_name);
		else $url_contact = _urlencode(users::getContactName($id));
		$contact_link=$site_url."/".$id."-".$url_contact."/".$this->links["contact_details"];

		return $contact_link;

	}

если закомментировать данные строки в htaccess, субдомен страницы пользователя будет работать,но не будет работать субдомен города, а вместо страницы пользователя будет опять же $config_live_site - главная страница.. а в адресной строке user.site.ru
при этом ссылка которая создается без субдомена работает // non subdomain dealer link
и перенаправляется на нужный адрес, что у меня не так тут?
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы