- если в строке только цифры, отправляем на одну страницу.
- если есть хотя бы один посторонний символ кроме цифр, то на другую.
- если строка пустая, показываем содержимое index.php
Как я это делаю:
RewriteRule ^([\d]+)\/?$ user.php?id=$1&%{QUERY_STRING}
RewriteRule ^([\d]*[\D]+.*)\/?$ error.php?id=$1&%{QUERY_STRING}
Что получается:
Адресная строка пуста -> id=index.php
В адресной строке 123 -> id=123
В адресной строке abc -> id=abc
Так же при всегда идет перенаправление на error.php
Проблема:
При любом содержании строки срабатывает второе выражение (перенаправление на error.php), я полагаю, что так происходит, потому что название файла и "id=" попадают во второе выражение и расцениваются им как символы "не цифр". Как запретить это? Или я может быть чтонибуть не так делаю?
_____________
Live in new format =)