Вот часть переписываемого файла .htaccess:
RewriteCond %{QUERY_STRING} ^pid=directions_to_business$ RewriteRule ^$ directions? [NC,R=301,L]
По сути, http://www.mybusiness.com/?pid=directions_to_business следует перенаправить на http://www.mybusiness.com/directions. Однако, когда этот URL задан: http://www.mybusiness.com/index.html?pid=directions_to_business, URL не перенаправлен.
Я использую приложение Rails, если это что-то меняет.
Ваш код,
RewriteRule ^$ directions? [NC,R=301,L]
Соответствует только пустому запросу, то есть корню (строки запроса не используются для RewriteRule). Вы хотите это:
RewriteRule ^.*$ directions [NC,R=301,L,QSA]
Который также перенаправит вашу строку запроса (QSA), если вы хотите, чтобы http://www.mybusiness.com/?pid=directions_to_business&from=... перешел на http://www.mybusiness.com/directions?from=....
QSA
http://www.mybusiness.com/?pid=directions_to_business&from=...
http://www.mybusiness.com/directions?from=...