Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Замена названий папок на URL сайта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: многосайтовость на одном движке
Garda1
Отправлено: 04 Ноября, 2010 - 01:39:29
Post Id


Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




смысл такой:
существуют папки
[system]
[123]
[124]
[125]

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

http://123[dot]system[dot]ru

Теперь вопрос: каким образом можно реализовать такую последовательность?
запрос: http://123[dot]ru и открывается сайт с шаблоном из папки 123, и в то же время в строке остается адрес 123.ru, а также сайт доступен по поддомену.

заранее спасибо за любую подсказку, хотябы узнать в каком направлении можно поискать такую реализацию.
 
 Top
OrmaJever Модератор
Отправлено: 04 Ноября, 2010 - 01:48:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




тут скорее всего придётся регать дополнительные домены.
можно попробовать mod_rewrite но в таком случаи думаю не поможет Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Garda1
Отправлено: 04 Ноября, 2010 - 02:07:11
Post Id


Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




OrmaJever пишет:
тут скорее всего придётся регать дополнительные домены.


да, безусловно домены только зарегистрированные, здесь важна сама суть одного двига для всех сайтов...
 
 Top
JustUserR
Отправлено: 04 Ноября, 2010 - 12:11:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Garda1 пишет:
Теперь вопрос: каким образом можно реализовать такую последовательность?
Предложеннная вами задачи не может быть реализована в общем случае - с использованием исключительно обычных средства обработки пользовательских URL-адресов - и проведению их последовательного программного разбора в рамках специализированного CGI-скрипта Тем не менее обеспечение решения указанной вами задачи может быть достигнуто при использовании специального имени виртуального хоста вида *.basename.com - в таком случае возможно осуществление web-сервером принятия всех запросов с каскадным именем хоста на основной виртуальный хост - и далее с применением целевого CGI-скрипта возможно проведения необходимых действий на основе переменных окружения HTTP_HOST и PATH_INFO


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Garda1
Отправлено: 04 Ноября, 2010 - 15:10:10
Post Id


Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




где и как узнать подробнее? Если я правильно понял, то при использовании CGI-скрипта в родительском домене, можно виртуально преобразовывать запрос реального домена в открытие поддомена, с сохранением реального URL. И если это так, то что необходимо узнать о CGI или как правильно найти такую реализацию?

(Отредактировано автором: 04 Ноября, 2010 - 15:25:31)

 
 Top
JustUserR
Отправлено: 05 Ноября, 2010 - 13:34:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Garda1 пишет:
Если я правильно понял, то при использовании CGI-скрипта в родительском домене, можно виртуально преобразовывать запрос реального домена в открытие поддомена, с сохранением реального URL
Для реализация системы обеспечивающей обработку пользовтельских запросов к виртуальным именам вложенных субдоменов - в действительно возможно использованине конфигурации Apache осуществляющей сохранение оригинальной строки запроса и передачи ее в программую среду CGI-скрипта
Конкретно для осуществления указанной задачи необходимо создать обособленный виртуальный хост с шаблонным именем - в обеспеспечиваемый конфигурацией указанного вида которая будет проводить обработку всех имен *.site.ru - для которых не спеифицировано явное значение виртуального хоста
CODE (text):
скопировать код в буфер обмена
  1. <VirtualHost 0.0.0.0:80>
  2. DocumentRoot /some/documenet/root
  3. ServerName backrequset.site.ru
  4. ServerAlias *.site.ru
  5. <Directory /some/documenet/root>
  6. Options +ExecCGI
  7. </Directory>
  8. </VirtualHost>
В полученной конфигурации необходимо включить использование CGI-скриптов и обеспечить соответствующие права доступа - достигаемые следующей конфигурацией
CODE (text):
скопировать код в буфер обмена
  1.  
  2. AddType application/x-all-urls .non-existent-extenstion
  3. Action application/x-all-urls /handler.cgi
  4. <Files *>
  5. DefaultType application/x-all-urls
  6. ForceType application/x-all-urls
  7. </Files>
  8. <Files /handler.cgi>
  9. DefaultType application/x-httpd-cgi
  10. ForceType application/x-httpd-cgi
  11. </Files>
В результате проведенных операций будет осуществлено автоматичесокое перенапраление всех пользовательских запосов - к указанному шаблону URL-путей в программную среду CGI-скрипта - получение которой возможно с помощью переменных окружения HTTP_HOST и PATH_INFO - для имени запрошенного виртуального хоста и целевому виртуальному пути соответственно


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Garda1
Отправлено: 05 Ноября, 2010 - 16:53:01
Post Id


Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




к сожалению я оказался не совсем компетентен для ответа, поэтому просьба JustUserR, объясните пожалуйста последовательность действий, как для первоклассника. Например: создать файл с названием "..." в директории "..." и т.п.
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Ноября, 2010 - 18:38:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Никаких заморочек, просто .htaccess в корне сайта:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^http://123.system.ru(.*)$ http://system.ru/123/$1  [P]

(Отредактировано автором: 05 Ноября, 2010 - 18:38:43)

 
 Top
Garda1
Отправлено: 05 Ноября, 2010 - 19:16:40
Post Id


Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




может что-то не так?
Директории:
system.ru/
|- www/
|- 123/ | \
|- 124/ | -- имеют свои реальные доменные имена one.ru, two.ru и three.ru,
|- 125/ | / но доступны пока только через 123.system.ru

создан .htaccess со строчкой
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^http://123.system.ru(.*)$ http://system.ru/123/$1  [P]

и помещён в system.ru/123/
во-первых никаких изменений не произошло
а во вторых, если правильно понял они всё равно не будут доступны по своим доменам

(Отредактировано автором: 05 Ноября, 2010 - 19:20:27)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Ноября, 2010 - 19:25:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




хтацесс нужно кидать в корень сайта т.е. на систем.ру, и вот полный:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteBase /~quux/
  3. RewriteRule ^адрескоторыйпроситюзер(.*)$ адрескудаперенаправляем/$1  [P]

юзер будет видеть тот адрес который просил а не тот куда мы его сунули, флаг [P] это проксирование... Апач сам и проксирует
(Добавление)
Таким макаром мы можем и совсем другой сайт показать на своем )))))
 
 Top
JustUserR
Отправлено: 05 Ноября, 2010 - 19:57:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Garda1 пишет:
к сожалению я оказался не совсем компетентен для ответа, поэтому просьба JustUserR, объясните пожалуйста последовательность действий, как для первоклассника. Например: создать файл с названием "..." в директории "..." и т.п.
Для упрощения решения предложенный вами задачи целесообразно воспользоваться средствами обеспечения конфигурации web-сервера - в таком случае вам будет необходимо осуществить создание отдельного виртуального хоста с указанием некоторой базовой директории документов а также опций именоваия следующим образом - в качестве основного имени используется некоторое значение типа some.mysite.ru и в параметре alias-инга производится указание значения *.mysite.ru - что обеспечивает получение всех пользовательских запросов по заданному шаблонному URL на данный виртуальный хост
DeepVarvar Предложенный вами вариант конфигурации конкретного виртуального хоста не может осуществить реализацию исходной задачи - посколько ее решение предполагет автоматическую обработку группы различных URL-имен общего доменного имени - в то время как предложенный вами вариант обеспечивает alias-дейтсвия исключительно внутри одного виртуального хоста


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Ноября, 2010 - 20:11:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




JustUserR пишет:
исключительно внутри одного виртуального хоста
)))
Да нет же -
Garda1 пишет:
запрос: http://123[dot]ru и открывается сайт с шаблоном из папки 123, и в то же время в строке остается адрес 123.ru, а также сайт доступен по поддомену.
какраз то что нужно ))))))
(Добавление)
Если мы имеем зарегистрированый домен 123.ru, то после обращения к NS-серверам юзер летит на наш IP, а у нас в корне лежит .htaccess в котором сказано если запрос будет следующего вида: http://123[dot]ru , то мы перенаправляем юзера в папку 123, а адрес кажем ему http://123[dot]ru , в то же время и поддомен совершенно спокойно доступен
 
 Top
Garda1
Отправлено: 05 Ноября, 2010 - 20:24:12
Post Id


Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




к сожалению, DeepVarvar, я скорее всего неправильно изъяснился, хотя ваш пример так и непроверен.
Но, что хорошо, оказывается хостинг об этом уже позаботился(реализован механизм привязки домена к папке) и результат получился такой(временный для примера):
puzzlecreative.ru - будет системным сайтом
site1.puzzlecreative.ru - папка с сайтом для работы с ним без зарегистрированного домена
и titanprint.ru - та же поддоменная папка, но уже используя домен, также доступна и по поддомену.
Адреса приведённые в примере реальны.

Но вот механизм такой реализации остаётся мне непонятным до сих пор, но всё равно спасибо за проявленный интерес.
(Добавление)
to DeepVarvar
в случае с htaccess всё равно требуется на хостинге создание папки с именем реального домена. т.е получится лишняя папка, без которой в данном случае можно обойтись.

(Отредактировано автором: 05 Ноября, 2010 - 20:35:44)

 
 Top
JustUserR
Отправлено: 07 Ноября, 2010 - 12:43:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




DeepVarvar Предложенный вами вариант решения в действительности позволяет обеспечить работоспособность оригинальной схемы именования пользовательских директорий и проведения их автоматического перенаправления - однако его практическое осуществление возможно исключительно в условиях когда размещение указанного web-ресурса обеспечено на выделенном IP-адресе и имеется возможность внесения требуемых конфигурационных директив в корневой виртуальный хост
Функционирование предложенной вами схемы по сути обеспечивается возможностью конфигурицией Apache осуществлять определение виртуального хоста по-умолчанию для заданной группы name-base virtual hosts - в таком случае в действительности обращение пользователя в фактически неопределннному субдомену обеспечивает перенаправление запроса в базовому виртуальному хосту - который программным образом осуществляет необходимые действия


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB