как сделать переадресацию из каталога на главную - индексную

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

как сделать переадресацию из каталога на главную - индексную

Сообщение anset » Пн авг 27, 2012 12:43 am

В корне сайта находятся две папки Rus и Eng (фактически два разных сайта). Необходимо, чтобы при обращении к сайту mysite.com происходило перенаправление в папку rus, а при обращении к сайту mysite.com/eng выполнялось перенаправление в папку eng. Подскажите как это реализовать с помощью .htaccess
anset
 
Сообщений: 2
Зарегистрирован: Пн авг 27, 2012 12:28 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

перенаправления с каталога на главную

Сообщение Alexx » Пн авг 27, 2012 11:42 am

Поэкспериментировал над .htaccess- получается где то так:

1) Вариант перенаправления на главную при заходе (при обращении) в каталог upload

В конкретный каталог добавляем - в http://web-domen.com/upload с папки на главное:
Код: выделить все
Redirect 301 /upload http://web-domen.com

при этом наследуется хвост, например набираем урл:
http://web-domen.com/upload/e-store
перекидывает - открывается
http://web-domen.com/e-store


Код ответа веб сервера при этом:
Код: выделить все
HTTP/1.0 301 Moved Permanently
Date: Mon, 27 Aug 2012 10:42:14 GMT
Server: Apache


2) Для "eng" - естественно и писать ничего не нужно он и так будет открываться как нужно

Есть еще простой но не всегда осуществимый вариант:
Если позволяет движок сайта и хостинг- отредактировать в админке акаунта на хостинге на вкладке Домены - поставить корневую папку /Rus/

а для Eng - сделать поддомен - это самое простое, но редко осуществимое из-за проблем с большинством движков сайтов.
Аватар пользователя
Alexx
Рядовой
 
Сообщений: 22
Зарегистрирован: Чт апр 12, 2012 3:01 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение anset » Вт авг 28, 2012 1:09 am

Alexx писал(а):Поэкспериментировал над .htaccess- получается где то так:

1) Вариант перенаправления на главную при заходе (при обращении) в каталог upload

В конкретный каталог добавляем - в http://web-domen.com/upload с папки на главное:
Код: выделить все
Redirect 301 /upload http://web-domen.com

при этом наследуется хвост, например набираем урл:
http://web-domen.com/upload/e-store
перекидывает - открывается
http://web-domen.com/e-store


Код ответа веб сервера при этом:
Код: выделить все
HTTP/1.0 301 Moved Permanently
Date: Mon, 27 Aug 2012 10:42:14 GMT
Server: Apache


2) Для "eng" - естественно и писать ничего не нужно он и так будет открываться как нужно

Есть еще простой но не всегда осуществимый вариант:
Если позволяет движок сайта и хостинг- отредактировать в админке акаунта на хостинге на вкладке Домены - поставить корневую папку /Rus/

а для Eng - сделать поддомен - это самое простое, но редко осуществимое из-за проблем с большинством движков сайтов.


Спасибо за ответ, но к сожалению ни один из вариантов не подходит :cry:
anset
 
Сообщений: 2
Зарегистрирован: Пн авг 27, 2012 12:28 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Alexey » Ср сен 12, 2012 6:09 pm

Немного не по теме - но может кому пригодится - редирект в зависимости установленного языка браузера

Код: выделить все
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* mysite.com/eng [L]


RewriteCond %{HTTP:Accept-Language} (ru) [NC]
RewriteRule .* mysite.com [L]
Аватар пользователя
Alexey
Site Admin
 
Сообщений: 38
Зарегистрирован: Вс сен 25, 2005 11:36 am
Откуда: RF/
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

sultan

Сообщение fhahjee1 » Вт мар 03, 2015 12:32 pm

Браузер обнаружил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
fhahjee1
 
Сообщений: 1
Зарегистрирован: Вт мар 03, 2015 12:29 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Чт дек 10, 2015 3:47 am

anset писал(а):В корне сайта находятся две папки Rus и Eng (фактически два разных сайта). Необходимо, чтобы при обращении к сайту mysite.com происходило перенаправление в папку rus, а при обращении к сайту mysite.com/eng выполнялось перенаправление в папку eng. Подскажите как это реализовать с помощью .htaccess


Если перефразировать, то получается, что все адреса, которые не начинаются на rus и eng должны перенаправляться в папку rus.
Код: выделить все
RewriteRule ^(?!(rus|eng)(/|$)).*$ /rus/$0 [R=301,L]


Если нужно исключить редирект существующих файлов. Например, чтоб запрос /robots.txt не перенаправляло на /rus/robots.txt.
Над RewriteRule добавить:
Код: выделить все
RewriteCond %{REQUEST_FILENAME} !-f
Emilien
Мл. Сержант
 
Сообщений: 84
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: YandexBot

cron