Если вы начинаете свой паттерн с ^ и заканчиваете его $, правило будет применяться только в случае совпадения всей строки.
RewriteRule ^/bla/info/$ /info/index.php?q=bla
RewriteRule ^/bla/info/txt/$ /info/index.php?q=bla&t=txt
Если вы используете, не используйте опцию [R], URL-адрес, отображаемый в браузере, будет таким, какой пользователь ввел.
Вы пытаетесь сделать это универсальным? Если это так, вы можете использовать сопоставление по типу регулярного выражения и подстановку переменных. Чтобы заставить 'bla' соответствовать любой строке до следующей косой черты (/), используйте
([^/]+)
в вашем шаблоне и указывайте в нем $ 1 при замене.
RewriteRule ^/([^/]+)/info/$ /info/index.php?q=$1
RewriteRule ^/([^/]+)/info/([^/]+)/$ /info/index.php?q=$1&t=$2
Я рекомендую веб-страницы Apache о mod_rewrite для получения дополнительной информации.
[Edit. Исправлены правила, чтобы не включать имя хоста в шаблон, как выяснил оригинальный постер.]
-
BMB