опять немного о Mod_rewrite

  • Автор темы Автор темы Beowulf
  • Дата начала Дата начала

Beowulf

Guest
опять немного о Mod_rewrite

Нужна помошь по этой интересной и полезной штуке как mod_rewrite

Допустим есть два адреса:
www.primer1.ru
www.primer2.ru
Оба они ссылаются на один и тот же ip адресс.

То есть при наборе либо первого либо другого адресса, юзеры попадают на один и тот же ip. (так сделано)

Нужно чтобы при наборе адреса www.primer1.ru человек попадал в корень сайта. (www)

А при наборе www.primer2.ru человек попадал в дирректорию - en/ , находящуюся в корне сайта (www)

Это можно сделать с помощью mod_rewrite
Очень прошу помочь.
 
А почему бы сразу не настроить таким образом виртульные хосты на уровне конфигурации Apache?
 
Я как бы в этом профан полный.
Потому многого не знаю.
Если так можно, то подскажи, как это сделать.
 
httpd.conf секция VritualHost - обычно находится в конце файла
<VirtualHost *>
DocumentRoot "/Path/to/host/files"
ServerName www.primer1.ru
ErrorLog logs/error-primer1.log
CustomLog logs/primer common
</VirtualHost>
<VirtualHost *>
DocumentRoot "/Path/to/host/files/www"
ServerName www.primer2.ru
ErrorLog logs/error-primer2.log
CustomLog logs/primer2 common
</VirtualHost>
 
Все очень просто. Идешь на yandex.ru или на google.com и пишешь "настройка виртуальных хостов".
 
сенкс обоим.

-~{}~ 27.06.05 01:27:

Хм сделал я у себя такое на локальном сайте, так вот такой вариант - не подходит.
Т.к. таким образом мы задаем корневую дирректорию для нашего сайта.
Но сайт из папки en/ пользуется данными, на[одящимися в папках расположенных в корневой дирректории.
В общем получается много накладок. (так данные файлы цепляют другие данные исходя их корневой дирректории и т.д. Портальная система чтоб ее)

Помогите, кому не в лом, сделать это все же через mod_rewrite.

-~{}~ 27.06.05 13:26:

ну подмогите хто-нибудь :(
 
Но сайт из папки en/ пользуется данными...
делай прямые ссылки.
Я попробовал, mod_rewrite получается использовать только внутри корневой директории... Может что не так делаю, но по моему www.primer1.ru и www.primer2.ru - это два разных хоста (корневых директорий), так что mod_rewrite тут не подходит.

Тем не менее можешь порыть здесь: http://sitemaker.ru/.
 
Beowulf
Значит сделай прямой редирект на папку по имени хоста.
Там есть флажки у правил, которые делают прямое перенаправление.
 
ForJest
Кинь кусок кода, плз...
Какие такие флажки? Реально интересно. Материала по mod_rewrite море, но все какие-то куцые!
:)
Заранее благодарен.
 
Torio
В ман. Есть такие штуки - флажки. [L] может? Не помню. А сам я не спец.
 
спасибо, всем, замутил данную щнягу средставми php.
 
Код:
# тормозим что не перекидывать
RewriteRule ^img/.*$ - [L]

# все остальное - либо на ru либо на en
RewriteCond %{REMOTE_HOST}  ^.*\.primer1.ru$
RewriteRule ^/$ /en/

RewriteCond %{REMOTE_HOST}  ^.*\.primer2.ru$
RewriteRule ^/$ /ru/

не пробовал. но работать кажется должно. Правда смысл такого решения мне кажется странным. Можно апачем сделать альясы допустим на одну папку изображений и чтобы она физически была одна, но имелась на обоих сайтах.

А сайты друг с другом не перемешывать.
 
ForJest
Ссылку на ман давай - а то я только про одни флажок знаю [F] - спрятать...
:)
 
Автор оригинала: DiTHER
Код:
# тормозим что не перекидывать
RewriteRule ^img/.*$ - [L]

# все остальное - либо на ru либо на en
RewriteCond %{REMOTE_HOST}  ^.*\.primer1.ru$
RewriteRule ^/$ /en/

RewriteCond %{REMOTE_HOST}  ^.*\.primer2.ru$
RewriteRule ^/$ /ru/

не пробовал. но работать кажется должно. Правда смысл такого решения мне кажется странным. Можно апачем сделать альясы допустим на одну папку изображений и чтобы она физически была одна, но имелась на обоих сайтах.

А сайты друг с другом не перемешывать.
Спасибо, попробую.
Сайты тут не перемешиваются, просто я пользуюсь портальной системой битрикс, у них там есть пресловутая многосайтовость, на деле говно полное.
Так вот там можно замутить чтобы шаблон менялся по условию, а вот в моем случае, - там такого решения нету.
 
делал такую схему, два домена прикрепил на один хостинг.
т.е второй просто алиас, схема практически как показал DiTHER
................
RewriteRule (.*) %{DOCUMENT_ROOT}/en/$1 [L]
 
Народ я тут немного не в тему, но спрошу.
У меня проблема такого рода пишу самый простой пример

RewriteEngine On
RewriteBase /
RewriteRule ^vert\.htm$ vert.html [R=permanent]

Просто чтоб проверить работоспособность.
получаю в ответ:
"You don't have permission to access /welga/vert.htm on this server."

В чем проблема ?
 
Сверху