.htaccess переписывает правило с параметрами

#regex #apache #.htaccess #mod-rewrite

#регулярное выражение #apache #.htaccess #мод-перезапись

Вопрос:

У меня много URL-адресов в следующем формате.

 index.php?option=com_letflatamp;task=viewamp;id=42

index.php?option=com_letflatamp;task=viewamp;task=ajaxmap
  

Я хочу переписать все URL-адреса, содержащие option=com_letflat, в корень домена, т.е. http://www.example.com

Я пробовал десятки разных вещей, и, похоже, ни одна из них не работает. Я дошел до этого:

 RewriteCond %{QUERY_STRING} (^|amp;)option=com_letflat [NC]
RewriteRule ^index.php(.*)  http://www.example.com [R=301,L]
  

Но это не работает.

Спасибо

Ответ №1:

Вы можете использовать это правило:

 RewriteEngine On
RewriteCond %{QUERY_STRING} (^|amp;)option=com_letflat(amp;|$) [NC]
RewriteRule ^index.php /? [R=301,L]
  

Просто убедитесь, что это самое первое правило в вашем .htaccess