[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как доработать регулярное выражение в mod_rewrite
linf
Задача:
- если в строке только цифры, отправляем на одну страницу.
- если есть хотя бы один посторонний символ кроме цифр, то на другую.
- если строка пустая, показываем содержимое 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 =)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.