Программирование > Perl
строка с условиями на perl
hr1:
to arto
пункт 2 и 3
проверяется строка ссылки (запроса страницы)
если домен первого уровня не совпадает с с названием основного сайта, то в строке меняется ТОЛЬКО название сайта
например
www.site-111.ru -> www.site111.ru
www.site111.com -> www.site111.ru
zite111.ru -> site111.ru или www.site111.ru
www.s111.ru/user/aa -> www.site111.ru/user/aa
где site111.ru - основной сайт
а zite111.ru , s111.ru, site111.com - алиасы, то есть по этим названиям люди все равно попадают на сайт site111.ru
К сожалению в строке браузера остается именно то что они набрали...
вот и нужен редирект на основной сайт site111.ru что и пытаюсь сделать в алгоритме в пунктах 2 и 3
Yaroslav:
--- Цитировать ---hr1:
1. Проверка HTTP_HOST
2. Если адрес %1.site111.ru/%2 перейти на пункт 4
3. Заменить ссылку на %1.site111.ru/%2
4. Если %1=""(пустой) или %1="www" перейти пункт 6
5. Заменить ссылку на site111.ru/%1
6. конец :)
--- Конец цитаты ---
надеюсь мой пример тебе поможет:-)
--- Код: ---$host="www.anton.site111.ru/user/aa";
$host =~ s/www.//;
if ($host =~ /(.*\\.)?site111.ru(.*)?/) {
if ($1) { print $1; }
if ($2) { print $2; }
}
--- Конец кода ---
hr1:
не работает
а как все это можно одной строкой написать?
Yaroslav:
--- Цитировать ---hr1:
не работает
--- Конец цитаты ---
оно и не будет работать в .htaccess :-)
там Перл не уместен :)
hr1:
зато там уместно "выражение" на перл :)
Perl regular expressions
http://perldoc.perl.org/perlre.html
на основе которого и производится проверка строки и замещение символов
Навигация
Перейти к полной версии