Возможно
RewriteRule ^([0-9]{6}).*$ templates/default/index.php?ref=$1
([0-9]{6})
было уже правильно, он захватывает шесть цифр
.*
соответствует любому символу впоследствии.
$1
заменяется содержимым первой группы захвата ()
Если вы хотите ограничить соответствие URL-адреса только в том случае, если в нем ровно шесть цифр, он должен выглядеть следующим образом (обратите внимание на тире -
):
RewriteRule ^([0-9]{6})-.*$ templates/default/index.php?ref=$1
или соответствует URL, только если он заканчивается на .html
:
RewriteRule ^([0-9]{6})-.*?\.html$ templates/default/index.php?ref=$1
Предлагаю прочитать mod_rewrite
документацию .
Также регулярные выражения.info отлично подходит для изучения регулярных выражений.