mod_alias работает только на URL path и не запрос:
mod_alias предназначен для обработки простых задач манипулирования URL-адресами. Для более сложных задач, таких как манипулирование строкой запроса, используйте инструменты, предоставляемые mod_rewrite.
Так что попробуйте mod_rewrite вместо:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^search=(.*)
RewriteRule ^/index\.php$ /? [L,R=301]
Или более общий:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^([^&]*&+)*search=([^&]*)
RewriteRule ^/index\.php$ /? [L,R=301]
И если вы хотите использовать это правило файл .htaccess в корневой директории, удалите ведущую косую черту от шаблонов.
Вы хотите перенаправить или переписать? – clyfe
Я хочу перенаправление 301 – elmas