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
Форумы портала PHP.SU :: Версия для печати :: 2 сайта на одном хостинге, проблемы с mod_rewrite
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » 2 сайта на одном хостинге, проблемы с mod_rewrite

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

1. melok - 14 Сентября, 2009 - 08:52:32 - перейти к сообщению
Для начала скажу, что уже 3 дня что и делаю что читаю доку по mod_rewrite, потому прошу не отправлять на чтения доки, как это многие любят делать.
Прошу помочь с решением и , если на т о ласка, раздуплить с логикой роботы.
И так, есть несколько сайтов на одном хостинге.
Структура папок:
/
/site2
/site3

в корне лежит основной сайт site1

нужно сделать внутренний редирект на скрипты в нужной папке, взаимозависимости от сайта.
Например, пользователь вводит
http://site3[dot]com/article
должен отработаться отработаться индексный скрипт в директории /site3/article
Пере адресация должна проходить не заметно для пользователя, то есть в адресной строке, должен остаться адрес http://site3[dot]com/article

Если же файла или каталога не оказывается, должен отработаться скрит /index.php соответствующего сайта
если файла не оказывается в нужной по указанному пути
2. Ch_chov - 14 Сентября, 2009 - 09:37:54 - перейти к сообщению
А причем тут количество сайтов на одном хостинге?
У вас каждому домену соответствует свой DocumentRoot.
ЧПУ проще делать отдельно для каждого сайта.
Или ваши сайты как то еще связаны, кроме общего хостинга?
3. melok - 14 Сентября, 2009 - 11:40:47 - перейти к сообщению
У всех сайтов 1 DocumentRoot, просто есть свободное пространство и есть необходимость держать скрипты в одном адресном пространстве, так как между сайтами есть общие скрипты
4. Ch_chov - 14 Сентября, 2009 - 11:50:58 - перейти к сообщению
Цитата:
У всех сайтов 1 DocumentRoot

Т.е. если просто набрать http://site3[dot]com то обрабатывать запрос будет индексный файл корневой директории (/) ?
5. melok - 14 Сентября, 2009 - 12:09:45 - перейти к сообщению
Да именно так
6. Ch_chov - 14 Сентября, 2009 - 18:39:20 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1.   RewriteCond %{REQUEST_FILENAME} !-f
  2.   RewriteCond %{REQUEST_FILENAME} !-d
  3.   RewriteRule ^(.*)$ index.php?req=$1 [L,QSA]


Т.е. перенаправляешь все запросы в файл index.php корневой категории (или какой нибудь другой), а там уже анализируешь значение переменной $_GET['req'] и подключаешь нужный файл.
7. melok - 16 Сентября, 2009 - 03:06:43 - перейти к сообщению
Спасибо большое за желание помочь.
Ваш код - это только часть моего балета, но все равно спасибо.
Решение нашел, но долго мучался, перебрал кучу вариантов на своей рабочей машине.
Как оказалось, правильное решение я нашел давно, вот только на моем апаче оно не срабатывало. Залил на сервак, пошло как по маслу, не знаю в чем проблема в самой версии mod_rewrite или в настройках апача, так или иначе, искать причину я не буду, так как уже и так много времени потратил. И откровенно говоря, уже тошнит от этих преобразований адресов.
Еще раз большое спасибо
Кому интересно, обращайтесь аська 212 941 829

 

Powered by ExBB FM 1.0 RC1