Пришлось столкнуться с небольшим нюансом 301-го редиректа, с которым ранее не приходилось сталкиваться.
Проблема заключалась в следующем: при прописывании 301 редиректа в файле роутов /routes/web.php
//файл роутов /routes/web.php // 301 редирект со страницы page1 на страницу page2 Route::redirect('/page1', '/page2', 301);
Редирект работает нормально, при заходе на /page1 нас перекидывает на /page2. После этого что меняем, к примеру так
//файл роутов /routes/web.php // 301 редирект со страницы page1 на страницу page3 Route::redirect('/page1', '/page3', 301);
И этот редирект не работает а /page1 снова перебрасывает на страницу /page2 вместо страницы /page3
Оказалось что при 301 редиректе переадресация кешируется и запоминается браузером, при чем ctrl+F4 (перезагрузка страницы с обновлением кеша) не убивает кеш переадресации. А помогает здесь только полное удаление всех кешей в настройках браузера.
А чтобы переадресации не кешировались браузером можно использовать 302 редирект.
//файл роутов /routes/web.php // 301 редирект со страницы /page1 на страницу /page3 Route::redirect('/page1', '/page3', 302);
По незнанию этого нюанса можно потратить много времени на поиск возможных причин: удалять кеш роутов Laravel, проверять генерируемые роуты Laravel и совершать прочие ненужные телодвижения.