Перейти к содержимому


Партнерская программа Kredov

Помогите с регуляркой (валидатор для субдоменов)

#1 winston3d

winston3d
  • Пользователь
  • 135 сообщений
  • Репутация: 2
0

Отправлено 30 Апрель 2014 - 21:58

Всем привет!
Такая проблемка, при создании субдомена указал * (звёздочку) что бы было неограниченное количество субдоменов, которые не нужно отдельно создавать. Но это повлекло за собой ряд проблем: субдомен может иметь неограниченное количество точек, может иметь тире в конце и несколько подряд.
Короче, нужно написать валидатор регуляркой, что бы тире могло стоять только по середине букв и цифр и точек быть не могло. В случае нарушения правил что бы перекидывало на основной домен.
У меня вообще всё плохо с регулярками и выходит что-то несуразное:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(([a-Z0-9]+[-]+[a-Z0-9])|([a-Z0-9]))+.site.com$
RewriteRule http://site.com/
Эта штука вообще не работает, 500 выдаёт. Помогите пожалуйста..

 

 

Сообщение отредактировал winston3d: 01 Май 2014 - 11:56

  • 0

#2 moving

moving
  • Пользователь
  • 420 сообщений
  • Репутация: 27

Отправлено 01 Май 2014 - 07:21

Почитай здесь, много полезной информации по htaccess, должно помочь


  • 0

#3 winston3d

winston3d
    Topic Starter
  • Пользователь
  • 135 сообщений
  • Репутация: 2

Отправлено 01 Май 2014 - 13:34

Спасибо. Я кстати уже почти решил проблему:
 

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?([a-z0-9]+)([-]?+[a-z0-9]+)*.site.com$ [NC]
RewriteRule (.*) http://site.com/ [R=301,L]

Но вот проблема, при редиректе на основной домен сохраняется GET. Как это можно обойти, не подскажете?


  • 0

#4 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 01 Май 2014 - 13:58

RewriteRule (.*) http://site.com/ [R=301,L]


попробуйте эту строку модифицировать, мб так
 

RewriteRule / http://site.com/ [R=301,L]

  • 0

#5 winston3d

winston3d
    Topic Starter
  • Пользователь
  • 135 сообщений
  • Репутация: 2

Отправлено 01 Май 2014 - 15:21

К сожалению вообще перестаёт работать


  • 0

#6 winston3d

winston3d
    Topic Starter
  • Пользователь
  • 135 сообщений
  • Репутация: 2

Отправлено 01 Май 2014 - 15:42

Нужно было просто ? в конце строки поставить, вот так

RewriteRule (.*) http://site.com/? [R=301,L]

  • 0


Оформление форума – IPBSkins.ru