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 :: Редирект RewriteRule .htaccess не работает!

 PHP.SU

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


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

> Описание: ОЧЕНЬ НУЖЕН РЕДИРЕКТ ПО доменной переадресации???
alexpebody
Отправлено: 10 Апреля, 2013 - 14:58:56
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


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




Доброго сем дня!

Комрады, помогите пожалуйста, всю голову сломал ((

Задача:
На хосте есть 2 папки, нужно сделать редирект так, чтобы если набирали адрес site1.domain.ru то педеходил по адресу domain.ru/site1, если набирали адрес site2.domain.ru то педеходил по адресу domain.ru/site2

Вроде все просто, написан такой скрипт в .htaccess:

RewriteRule ^/?$ site1 [L] - так работает, НО ДЛЯ ВСЕХ И ВСЯ...
RewriteRule ^site1/?$ site1 [L] -так не работает хоть тресни, все перебрал...

Нужно как то указать начальную строку и если там будет site1 то переходить в папку site1, если site2 то в папку sit2 соответственно...

Помогите плз. как сделать? Спасибо!
 
 Top
preproger
Отправлено: 10 Апреля, 2013 - 15:02:50
Post Id


Гость


Покинул форум
Сообщений всего: 79
Дата рег-ции: Апр. 2013  


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




site1.domain.ru - это поддомен, а значит - это Отдельный сайт!
Тебе нужно в корневой директории этого сайта сделать полный редирект на нужную тебе страницу, например так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. Redirect 301 / domain.ru/site1
 
 Top
alexpebody
Отправлено: 10 Апреля, 2013 - 15:08:22
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


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




preproger пишет:
Redirect 301 / domain.ru/site1


/ - Это для всех запросов... (

Мне нужно чтобы если запросили site1.domain.ru попадали только в domain.ru/site1
а если ...2 то только в 2...
 
 Top
Zuldek
Отправлено: 10 Апреля, 2013 - 15:09:24
Post Id


Постоянный участник


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


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




preproger пишет:
site1.domain.ru - это поддомен, а значит - это Отдельный сайт!

Вовсе это не так.
Что мешает запросы на адрес:
http://site1[dot]domain[dot]ru
Перенаправить на
http://domain[dot]ru?site=site1
? Улыбка

(Отредактировано автором: 10 Апреля, 2013 - 15:11:45)

 
 Top
alexpebody
Отправлено: 10 Апреля, 2013 - 15:12:18
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


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




Zuldek пишет:
Вовсе это не так.


Да в том и дело что нужен простой реврайт, пол типу:

1. запросил 1й поддомен, попал в 1ю папку,
2. запросил 2й попал в 2ю папку...

Можно скрипт в студию ПОЖАЛСТА если кто знает, буду ОЧЕНЬ благодарен!
 
 Top
Zuldek
Отправлено: 10 Апреля, 2013 - 15:22:28
Post Id


Постоянный участник


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


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




RewriteRule ^([^.]+)?domain.ru$ domain.ru/$1 [L]

(Отредактировано автором: 10 Апреля, 2013 - 15:49:57)

 
 Top
armancho7777777 Супермодератор
Отправлено: 10 Апреля, 2013 - 15:22:58
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Zuldek пишет:
preproger пишет:
site1.domain.ru - это поддомен, а значит - это Отдельный сайт!

Вовсе это не так.

Именно так.
Zuldek пишет:
Что мешает запросы на адрес:
http://site1[dot]domain[dot]ru
Перенаправить на
http://domain.ru?site=site1

Ничего не мешает... перенаправить с одного сайта на другой, что Вы и показали.
 
 Top
alexpebody
Отправлено: 10 Апреля, 2013 - 15:25:39
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


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




В итоге сделал так (но мне кажется все же КРИВО и можно лучше в 1 строку):

RewriteCond %{HTTP_HOST} ^site1
RewriteRule ^/?$ site1 [L]

RewriteCond %{HTTP_HOST} ^site2
RewriteRule ^/?$ site2 [L]

Может кто то лучше привести?
 
 Top
Zuldek
Отправлено: 10 Апреля, 2013 - 15:27:19
Post Id


Постоянный участник


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


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




armancho7777777 пишет:
Именно так.

А это как подходить к понятию. Если это набор документов в определенном физическом каталоге сервера (а обычно это и подразумевается под понятием), доступный по разным адресам, то
site1.domain.ru и http://domain[dot]ru?site=site1 - разные адреса документов сервера domain.ru в том же корневом каталоге.

(Отредактировано автором: 10 Апреля, 2013 - 15:30:09)

 
 Top
esterio
Отправлено: 10 Апреля, 2013 - 15:28:26
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




armancho7777777 пишет:
Именно так.

Вообще-то есть возможность разместиь один сайт на двух разных доменнах.
В апаче алиас для хоста. Но так делать не стоит.
 
 Top
alexpebody
Отправлено: 10 Апреля, 2013 - 15:29:08
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


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




Zuldek пишет:
RewriteRule ^([^/]+)/?domain.ru$ domain.ru/$1 [L]


Вот вроде этого, только анализ не домена 2го уровня в "первого слова" домена 3го уровня, т.е. site1 и site2 как это описать вашим примером?
 
 Top
esterio
Отправлено: 10 Апреля, 2013 - 15:29:13
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




П.С. яркый пример
http://site[dot]ru и http://www[dot]site[dot]ru
 
 Top
Zuldek
Отправлено: 10 Апреля, 2013 - 15:33:32
Post Id


Постоянный участник


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


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




alexpebody пишет:
только анализ не домена 2го уровня в "первого слова" домена 3го уровня, т.е. site1 и site2 как это описать вашим примером

Это на каком языке написано?)
Такое только в пятницу вечером смогу понятьУлыбка.
Если строго для site1 и site2 то их в регулярке и пропишите.
Кстати указанное для mod_rewrite индейца. Для nginха может придется поправить согласно мануалу

(Отредактировано автором: 10 Апреля, 2013 - 15:34:10)

 
 Top
alexpebody
Отправлено: 10 Апреля, 2013 - 15:36:16
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


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




Zuldek пишет:
Это на каком языке написано?)


Сори, объясню как могу...

Ваш скрипт, как в нем выставить так чтобы если набирал site1.domain.ru то попадал в папку domain.ru/site1, а если site2.domain.ru то попадал в папку domain.ru/site2

Т.е. чтобы шла замена при условии = если поддомен site1 то редиректить в папку 1, если поддомен site2, то в папку 2!

Черкните конкретный пример если можно... СПАСИБО!

пысы, я сделал так: http://forum.php.su/topic.php?fo...96739#1365596739 но думаю можно описать это вашим способом и короче!

(Отредактировано автором: 10 Апреля, 2013 - 15:37:55)

 
 Top
armancho7777777 Супермодератор
Отправлено: 10 Апреля, 2013 - 15:41:09
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




esterio пишет:
Вообще-то есть возможность разместиь один сайт на двух разных доменнах.

Ну и что ?
Будет 2 одинаковых сайта)
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB