URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7999
[ Назад ]

Исходное сообщение
"htaccess Редирект с 'без www' на www"

Отправлено bobadd , 29-Окт-15 14:47 
Добрый день,

Мы на своих проектах всегда делаем редиректы с без ввв на ввв. Для этого в .htaccess добавляем

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(?![w]{3}\.)(.*)$
    RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Всё бы хорошо, но когда для локального тестирования коллеги заходят по IP, получается редирект www.192.168.0.56
И ничего не пашет. Как правильно добавить условие на необработку доступа по IP?
Я попробовал так:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^([a-zA-Z]+)$
    RewriteCond %{HTTP_HOST} ^(?![w]{3}\.)(.*)$
    RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Но редирект перестал работать совсем.
Подскажите, пожалуйста, как правильно сделать?


Содержание

Сообщения в этом обсуждении
"htaccess Редирект с 'без www' на www"
Отправлено eRIC , 29-Окт-15 19:01 
самое простое вроде этого:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
RewriteCond %{HTTP_HOST} ^(?![w]{3}\.)(.*)$
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]


"htaccess Редирект с 'без www' на www"
Отправлено bobadd , 29-Окт-15 20:20 
> самое простое вроде этого:
> RewriteEngine On
> RewriteCond %{HTTP_HOST} !^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
> RewriteCond %{HTTP_HOST} ^(?![w]{3}\.)(.*)$
> RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Класс, спасибо, работает. Добавил только .* в конец (у нас еще и порт есть)


"htaccess Редирект с 'без www' на www"
Отправлено Pahanivo , 30-Окт-15 08:26 
> RewriteCond %{HTTP_HOST} !^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$

а как же ipv6 )))



"htaccess Редирект с 'без www' на www"
Отправлено bobadd , 30-Окт-15 09:37 
>> RewriteCond %{HTTP_HOST} !^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
> а как же ipv6 )))

Для локального тестирования на стенде ipv6 чересчур :)


"htaccess Редирект с 'без www' на www"
Отправлено eRIC , 30-Окт-15 13:47 
> а как же ipv6 )))

до него еще переть и переть :) пока еще доминирует ipv4, потому и не брал его в счет. да и 999.999.999.999 под регулярку попадает, хотя такого IP не может быть :) :) :)

если нужно чтобы ipv6 и учитывался правильный ipv4, то регулярка не будет такой простой в одно строчку :)



"htaccess Редирект с 'без www' на www"
Отправлено Pahanivo , 30-Окт-15 14:50 
> до него еще переть и переть :) пока еще доминирует ipv4, потому

ты просто эгоист и не думаешь о потомках которые будут разгребать тонны срачей на опене после нас! ))


"htaccess Редирект с 'без www' на www"
Отправлено lipton , 30-Мрт-16 12:28 
Спасибо, все работает, только было сложно разобраться куда именно, и как вписывать домен. Зато теперь ест четкое представление!

"htaccess Редирект с 'без www' на www"
Отправлено Pahanivo , 30-Окт-15 08:28 
> Мы на своих проектах всегда делаем редиректы с без ввв на ввв.

видать крутые у вас проеХты, что если вы в базовых регексах заблудились ))


"htaccess Редирект с 'без www' на www"
Отправлено bobadd , 30-Окт-15 09:36 
>> Мы на своих проектах всегда делаем редиректы с без ввв на ввв.
> видать крутые у вас проеХты, что если вы в базовых регексах заблудились
> ))

Ох уж эти злые языки. Интересно какой ответ ты хочешь услышать на этот коммент. Стоимость проекта? Компанию заказчика? Или, может быть, мой личный опыт разработки?


"htaccess Редирект с 'без www' на www"
Отправлено Pahanivo , 30-Окт-15 13:46 
> Ох уж эти злые языки. Интересно какой ответ ты хочешь услышать на

Я не задавал вопрос.
> Или, может быть, мой личный опыт разработки?

С этим и так все ясно.


"htaccess Редирект с 'без www' на www"
Отправлено bobadd , 30-Окт-15 14:25 
>> Ох уж эти злые языки. Интересно какой ответ ты хочешь услышать на
> Я не задавал вопрос.
>> Или, может быть, мой личный опыт разработки?
> С этим и так все ясно.

По собственному опыту (про который вам всё ясно) общения с заказчиками (особенно, учитывая, если у такового имеется свой штат разработчиков и вам с ними приходится взаимодействовать), я скажу вам, что критиковать и высмеивать навыки других людей - последнее дело. Считаю, что в данном случае, с вашей стороны эта критика не уместна. Сожалею, если у вас другое мнение на этот счет.


"htaccess Редирект с 'без www' на www"
Отправлено Pahanivo , 30-Окт-15 14:49 
Вы свою манагерскую болтовню оставьте для счастливых клиентов. Удачи.


"htaccess Редирект с 'без www' на www"
Отправлено Quai , 30-Окт-15 17:02 
У Google вебмастера, есть подробное описание та во как необходимо это делать. Советую вам прислушаться к Google =)

"htaccess Редирект с 'без www' на www"
Отправлено Нетикос , 11-Фев-16 23:31 
> У Google вебмастера, есть подробное описание та во как необходимо это делать.
> Советую вам прислушаться к Google =)

сделай как делается обычный редирект и не морочсебе голову, иначе проблем потом не оберешся


"htaccess Редирект с 'без www' на www"
Отправлено Oleksis , 12-Фев-16 15:44 
>> У Google вебмастера, есть подробное описание та во как необходимо это делать.
>> Советую вам прислушаться к Google =)
> сделай как делается обычный редирект и не морочсебе голову, иначе проблем потом
> не оберешся

а есть какой то движок для сайта, который не требует таких доработок?


"htaccess Редирект с 'без www' на www"
Отправлено keir , 30-Мрт-16 16:18 
> Добрый день,
> Мы на своих проектах всегда делаем редиректы с без ввв на ввв.

Кто вы? Зачем? За что? Что за необъяснимая тяга к странному?
На кой делать редирект с обычного нормального домена на домен третьего уровня? Обычно пишутся регэкспы наоборот, чтобы пещерные люди из 90-х, пишущие все с вэвэвэ попадали все-таки на сайт, а тут наоборот! Вы увеличиваете энтропию, вы ужасный человек.