Замените имя operator++
на имя f
(то есть попробуйте то же самое с обычной функцией-членом). У вас будет такая же проблема. Компилятор находит названную функцию в der
, поэтому она не выглядит в base<dir>
. Перегрузка происходит только среди функций, определенных в той же области.
Гораздо лучше иметь несколько 301-х. Вы не хотите, чтобы ваши клиенты видели 404.
Там нет SEO наказания (я знаю, что) за несколько страниц 301 на одной странице.
301, безусловно, лучше, чем сбрасывать клиентов с помощью 404. Если вы сделаете то, что действительно лучше всего для человека, вы обнаружите, что поисковая система будет уважать это.
Обратите внимание, что вы можете привести в порядок свой файл .htaccess, объединив директивы в одну:
RedirectMatch Permanent ^/cars-(tires|engines|accessories).php$ http://www.example.com/cars.php
или даже более общую
RedirectMatch Permanent ^/(.+)-(.+).php$ http://www.example.com/$1.php
, если у вас много URL-адресов в форме /foo-bar.php, которые должны перенаправлять на / foo .php