Попробуйте это правило:
RewriteCond %{QUERY_STRING} =p=123
RewriteRule ^$ /foo/bar? [L,R=301]
Или используя REQUEST_URI :
RewriteCond %{REQUEST_URI} =/?p=123
RewriteRule ^$ /foo/bar? [L,R=301]
Обратите внимание, что шаблоны RewriteCond
начинаются с =
, который идентифицирует лексикографическое сравнение вместо теста регулярных выражений. Кроме того, пустой запрос в замене (обозначается …?
), который удалит первоначально запрошенный запрос.