Титла: apache redirect if not existing vhost Публикувано от: dvbb в Oct 16, 2010, 20:13 Здравейте
Въпроса ми е как мога да настроя apache при несъществуваш vhost да пренасочва към съществуваш такъв. Apache съм го настроил да се създават vhosts като създам DocumentRoot (VirtualDocumentRoot /var/www/root.%0). примерно създавам /var/www/root.sun.domain.com и получавам vhost sun.domain.com. Искам при заявка към neshtonesyshtestvuvashto.domain.com да препраща към www.domain.com Титла: Re: apache redirect if not existing vhost Публикувано от: neter в Oct 17, 2010, 00:55 Направи VirtualHost без ServerName. Той ще служи като VirtualHost по подразбиране. Когато някой прати заявка към твоя сървър с домейн или субдомейн, за който няма настроен VirtualHost, ще се отваря този по подразбиране. Ако искаш различни пренасочвания за различни несъществуващи VirtualHost-ове, можеш да сложиш един .htaccess файл с mod_rewrite правила за целта в папката на VirtualHost-а по подразбиране ;)
P.S.: Все пак, за да може да се изпрати заявка към твоя сървър при зареждане на даден несъществуващ домейн или субдомейн, трябва да има настроен DNS запис за него. Когато казвам "несъществуващ", имам предвид, че не съществува единствено за web сървъра. Ако искаш всички субдомейни на даден домейн да водят към твоя сървър, то настрой всички субдомейни на този домейн да водят към твоето IP. В bind това се указва със знака @, който се вписва на мястото на субдомейна. Пример за такъв ред от зонов файл на bind Цитат @ A 11.22.33.44 Титла: Re: apache redirect if not existing vhost Публикувано от: triel в Oct 17, 2010, 02:47 В bind това се указва със знака @, който се вписва на мястото на субдомейна. Пример за такъв ред от зонов файл на bind Всъщност @ е shortcut към моментната стойност на $ORIGIN, а wildcard records се описват с * Цитат * A 11.22.33.44 Здравейте Явно ползваш mod_vhost_alias - единственото, което ми хрумва в твоя случай е да използваш mod_rewrite за проверка дали съществува docroot директория за дадения hostname, и ако не съществува - да rewrite-ваш hostname към www.domain.com. Титла: Re: apache redirect if not existing vhost Публикувано от: neter в Oct 17, 2010, 04:23 Извинявам се за грешката, нещо ме е хванала някаква инерция. Между другото, не е и така, както ме поправи, а така
Цитат * IN A 11.22.33.44Както и да е, то стана голяма история ;D Титла: Re: apache redirect if not existing vhost Публикувано от: dvbb в Oct 17, 2010, 12:12 Насочил съм
domain.com 1.1.1.1 *.domain 1.1.1.1 {каквото и да напиша}.domain.com ме праща на машината. Вероятно ми трябва RewriteRule но нещо не мога да го съчиня , така че да работи.Иначе да трябва да проверява за docroot и hostname. Титла: Re: apache redirect if not existing vhost Публикувано от: neter в Oct 17, 2010, 12:43 Да, трябва ти RewriteRule правило, но за да ти бъде даден пример за твоите нужди, трябва да опишеш точно какво искаш да се случва - всички несъществуващи субдомейни към един и същи VirtualHost ли ще се пренасочват или към различни. При пренасочването към другия VirtualHost ще се праща ли и въведеното REQUEST_URI (данните след домейна във въведеното url, като файл и GET променливи). Ако се праща, то запазено ли ще се праща или променено по някакъв начин... Детайлна картинка на това, което искаш да се случва.
Титла: Re: apache redirect if not existing vhost Публикувано от: dvbb в Oct 17, 2010, 13:02 Идеята е ако някой обърка vhost-a да му каже че го е объркал, демек да го прати към http://domain/wrongurl.htm. vhost създавам като създам /var/www/root.sub и получавам sub.domain.com
Титла: Re: apache redirect if not existing vhost Публикувано от: neter в Oct 17, 2010, 13:34 Тогава ти е достатъчно да сложиш това в .htaccess файла (или директно в настройката) на VirtualHost-а по подразбиране
Цитат RewriteEngine onВъпросителният знак в края на url-то указва пренасочване точно към това url, без да се изпращат към него въведените GET променливи. Ако искаш при пренасочването да се изпращат и GET променливите, само махни въпросителния знак от правилото ;) Титла: Re: apache redirect if not existing vhost Публикувано от: dvbb в Oct 17, 2010, 13:53 така ми пренасочва и тези които съществуват към wrongurl.htm
Титла: Re: apache redirect if not existing vhost Публикувано от: neter в Oct 17, 2010, 13:57 Покажи си цялостните настройки на сървъра и VirtualHost-овете, че така ни караш да хвърляме боб какво точно си сътворил.
Титла: Re: apache redirect if not existing vhost Публикувано от: dvbb в Oct 17, 2010, 14:22 httpd.conf
Цитат # * domain.conf Цитат
|