Для начала скажу, что уже 3 дня что и делаю что читаю доку по mod_rewrite, потому прошу не отправлять на чтения доки, как это многие любят делать.
Прошу помочь с решением и , если на т о ласка, раздуплить с логикой роботы.
И так, есть несколько сайтов на одном хостинге.
Структура папок:
/
/site2
/site3
в корне лежит основной сайт site1
нужно сделать внутренний редирект на скрипты в нужной папке, взаимозависимости от сайта.
Например, пользователь вводит
http://site3[dot]com/article
должен отработаться отработаться индексный скрипт в директории /site3/article
Пере адресация должна проходить не заметно для пользователя, то есть в адресной строке, должен остаться адрес http://site3[dot]com/article
Если же файла или каталога не оказывается, должен отработаться скрит /index.php соответствующего сайта
если файла не оказывается в нужной по указанному пути
1. melok - 14 Сентября, 2009 - 08:52:32 - перейти к сообщению
2. Ch_chov - 14 Сентября, 2009 - 09:37:54 - перейти к сообщению
А причем тут количество сайтов на одном хостинге?
У вас каждому домену соответствует свой DocumentRoot.
ЧПУ проще делать отдельно для каждого сайта.
Или ваши сайты как то еще связаны, кроме общего хостинга?
У вас каждому домену соответствует свой 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):
скопировать код в буфер обмена
скопировать код в буфер обмена
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ index.php?req=$1 [L,QSA]
Т.е. перенаправляешь все запросы в файл index.php корневой категории (или какой нибудь другой), а там уже анализируешь значение переменной $_GET['req'] и подключаешь нужный файл.