Как сделать редирект .htaccess

newline82

Новичок
Есть устаревший вариант именования страниц - new-petersburg.ru/?option=com_content&view=article&id=33
Я хочу их перенаправлять на другой вариант, но не пойму как.

Пишу вот так
PHP:
RewriteRule ^\?option=com_content&view=article&id=([0-9]+)$ /article/$1 [L,R=301]
или вот так
RewriteRule ^option=com_content&view=article&id=([0-9]+)$ /article/$1 [L,R=301]
Ничего не адресуется, с другим вариантом проблем нет
RewriteRule ^index.php/component/content/article/([0-9]+)$ /article/$1 [L,R=301]
Я полагаю это связано с ? знаком.
 

emptiness

Новичок
Да, это связано с "?" знаком. Паттерн, который указывается в RewriteRule применяется к той части УРЛа, которая между именем домена и как раз знаком "?". Так что надо использовать RewriteCond и в нём смотреть на %{QUERY_STRING}. Вот тут пример.
 

tz-lom

Продвинутый новичок
посмотри на регулярку внимательнее
если не заметишь проблем - сходи в гугл с вопросом "а что такое ^ в регулярках"
 
Сверху