.

Есть два сайта: site1.ru и site2.ru
Нужно сделать так, чтобы при наборе a.site2.ru человек видел содержимое site1.ru, но урл у него не менялся, т.е. он думал по урлу, что находится на site2.ru

И это не проблема. И делается с помощью настройки ДНС.
Дело в том, что мне нужно не просто отображать site1.ru, а нужно указать параметры. site1.ru/?param=1

Возможно ли это сделать?

35 Responses to Настройка поддоменов.

  1. Xxxno:

    HTTP redirects/301/302

  2. NagRain:

    Возможно, и я даже знаю как — ловил любителя чужого контента. Очень мило пообщались. Посему задам разумный, думаю, вопрос — вам действительно это нужно? И знает ли об этом site1?

  3. DiTunes:

    site1 мой
    site2 мой партнер

    хуле тут про сайт1, сайт2 писать.
    Напишу настоящие адреса.

    Мой сайт http://plaaay.ru
    У меня есть партнер http://es-gaming.ru
    И мы хотим сделать так, что при переходе на домен igri.es-gaming.ru у человека отображалась вот эта страница: http://plaaay.ru/?partner=27
    Но адрес сайта не менялся у посетителя.

    Важно передать параметр этот, ведь только из-за него меняется дизайн сайта. Достаточно передать его один раз, дальше сайт уже запомнит посетителя и будет показывать ему нужный дизайн.

    На всякий случай скажу, что для сброса дизайна на стандартный достаточно указать partner=1.

  4. Thgenko:

    а чо мешает в днс прописать, что igri.es–gaming.ru это твой сервер (это соответственно делает партнер), а в апаче/энжнх/чегоутебятам сделать правило, которое по этому домену грузит нужный скрипт (это соответственно на твоем сервере)?

  5. DiTunes:

    отсутствие знаний мешает
    потому и обратился за помощью

  6. Nikblack:

    Самый простой способ, партнёру поднять igri.es–gaming.ru рядом с es–gaming.ru, и в настройках прописать:
    RewriteRule (.*) http://plaaay.ru/$1?partner=27 [P]

    Если конечно у него там Apache c mod_rewrite

  7. SbVelo:

    RewriteCond %{HTTP_HOST} ^(www.)?site1.com$
    RewriteRule ^$?partner=27 [QSA]

  8. SbVelo:

    блин, парсер съел табы

    RewriteCond %{HTTP_HOST} ^(www.)?site1.com$
    RewriteRule ^$?partner=27 [QSA]

    это для апача с mod_rewrite, вставляется в конфиг или в.htaccess файл на самом сайте

  9. DiTunes:

    сделал поддомен esg.plaaay.ru
    направил его на папку
    в папку положил.htaccess
    в нем написал:
    RewriteCond %{HTTP_HOST} ^(www.)?plaaay.ru$
    RewriteRule ^$?partner=27 [QSA]

    выдает 500 ошибку даже при прямом обращении к esg.plaaay.ru

  10. Thgenko:

    если это в.htaccess то RewriteCond с хостом тут вообще не нужен, а правило можно взять из коммента выше:
    RewriteRule (.*) http://plaaay.ru/$1?partner=27 [P]

  11. DiTunes:

    если так сделать, то листинг директории открывает
    http://esg.plaaay.ru/

  12. Thgenko:

    rewrite engine в кофигах точно включен?
    может надо добавить?
    RewriteEngine on

  13. DiTunes:

    не помогает
    если вдруг это наведет на решение, то я использую isp manager у хостера

  14. Thgenko:

    доступ к конфигам апача есть? там mod_rewrite вообще стоит? xD

  15. DiTunes:

    нет, доступа к конфигам апача нет
    но правила в.htaccess работают

    их дофига на основном домене

  16. Thgenko:

    ага, уже легче.
    попробуй вот так:

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^esg.plaaay.ru$ [NC]
    RewriteRule ^(.*)$ http://plaaay.ru/$1?partner=27 [R=301,L]

  17. DiTunes:

    вот это работает
    но только урл меняется
    это обычный редирект ведь

  18. RodSnow:

    Либо проксировать, либо тупо в днс продублировать.

  19. DiTunes:

    как это делается?

  20. DiTunes:

    основной момент — сделать так, чтобы урл не менялся, и пользователь думал, что он на сайте igri.es-gaming.ru
    почему-то мне казалось, что это делается просто

  21. RodSnow:

    Что именно? Проксирование (лично я) сделал бы средствами nginx.

    А в днс продублировать это просто добавить:
    igri.es-gaming.ru. IN A 31.31.196.17
    Это ip-адрес твоего plaaay.ru, либо что-то типа:
    igri.es–gaming.ru. IN CNAME plaaay.ru.
    И в том и в другом варианте тебе на твоём сервере, где живёт plaaay.ru придётся обрабатывать запросы к этому новому адресу.

  22. Thgenko:

    как вариант: отдельная запись на сервере для нового домена, в папке симлинк на код твоего основного сайта + оверрайд конфига на нужную тему. топорно, зато точно будет работать и линка не будет меняться

  23. DiTunes:

    домен есть, папка для него есть

    симлинк знаю как делать, но что на что линковать?
    а вот про оверрайд конфига совсем нихуя не понимаю

  24. Thgenko:

    ну, типо
    ssh [email protected]
    cd /var/www/subdomain.myserver.com
    ln -s /var/www/myserver.com/mycmsshit.*.
    cp /var/www/myserver.com/mycms.config.
    vi mycms.config
    меняем тему на нужную

    профит!
    это если в общих чертах)

  25. DiTunes:

    ну и я не понял нихуя, разумеется

    бля, ну ведь такая простая задача
    что-то очень сложно она решается

  26. Thgenko:

    ну, эм, это на самом деле не сложно совсем. может проще нанять одмина, который за тебя все это разрулит за 10 минут? )

  27. SbVelo:

    там опять парсер съел чуток
    должно быть так: http://pastebin.com/13GvkkGp

    site2.com должен указывать на ту же папку, что и site1.com, т.е. в апаче эти виртуалхосты должны иметь одинаковые конфигурации, либо, что проще, site2 должен быть указан алиасом для site1 в настройках виртуалхоста.

  28. DiTunes:

    эта штука работает, но происходит просто редирект
    меняется урл. мне нужно этого избежать

  29. Thgenko:

    кстати, я тут еще один просто вариант придумал — заводим поддомен на ту же папку, что и основной домен, а дальше в коде проверяем по какому запросу пришел юзер и если это поддомен — ставим тему партнера.

  30. LamYes:

    мне кажется, что человек, который одновременно знает как пользоваться vi но при этом задает вопросы как автор, вызывает такой диссонанс реальности, что должен немедленно схлопываться в сингулярность.

  31. RodSnow:

    Какая свежая идея!

  32. Thgenko:

    я, как в ощим-то и всегда, не тормоз, ага )

  33. Thgenko:

    ну, эм, vi это все лишь текстовый редактор. уметь им пользоваться можно совершенно не разбираясь в технических деталях 🙂

  34. LamYes:

    ага, если не углубляться в детали, то и brainfuck — всего лишь язык программирования

  35. Thgenko:

    ну так оно и есть чо 8)

Добавить комментарий