Я переписал свое веб-приложение с помощью CakePHP, но теперь мне нужно перенаправить мои старые отформатированные URL-адреса в мой новый формат URL-адреса. Я не могу добавить свое собственное правило переписывания модов. Я добавил его выше основного правила перезаписи cakephp, но получаю бесконечный цикл перенаправления. Я просто хочу http://mysite.com/index.php?action=showstream&nickname=user перенаправить на http://mysite.com/user до того, как произойдет перезапись CakePHP.
РЕДАКТИРОВАТЬ: Хорошо, теперь, когда условие выполнено, оно перенаправляет, но добавляет конечную строку запроса к концу. Я предполагаю, что это из-за флага QSA в правилах перезаписи CakePHP, но у меня сложилось впечатление, что буква "L" в моем правиле остановит выполнение ...
RewriteEngine On
RewriteCond %{QUERY_STRING} ^action\=showstream&nickname\=(.*)$
RewriteRule ^.*$ http://mysite.com/%1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]