А как прописать каноникал для фильтра? Там может быть любой фильтр, и как определить что вот для данного фильтра каноническим является этот фильтр?
domen.ru/category/type-1-2/brand-1-2-3/color-1-2
domen.ru/category/type-2-1/brand-3-2-1/color-2-1
Условия выборки находится в SQL запросе. Внутри цикла while фетчится результат запроса который возвращает false по окончанию обхода. Вы бы почитали документацию что-ли http://php.net/manual/ru/function.mysql-fetch-array.php, либо подтянули логику, потому что в вашем коде она напрочь отсутствует.
RewriteCond %{HTTP_HOST} ^(www\.)?site\.ru$
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /\ HTTP/
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /(myurl|mydir/)
RewriteRule ^(.*) http://old.site.ru/$1 [R=301,L]
Как-то так
Ну очевидно что нужно отключить подписку (особенно автоматическую).
Впервые об этом слышу. Для какого приложения? Что мешает на основе full link добавить еще один тег с относительной ссылки? Нахрена менять системную ссылку?
Ну а разве отписка пользователей проблему не решило?
/catalog/zapchast? [R=301,L]
Теперь надеюсь понятно что нужно добавить знак вопроса.
/catalog/zapchast?
А в чем заключается ваш корень зла?
Зачем? Может быть проще переопределить http_host?