Почему это перенаправление не работает?
$menu = 'menu'; $item = 'item'; header('HTTP/1.1 303 See Other'); header("/{$menu}/{$item}/");
Потому что вы забыли указать, какой заголовок вы отправляете.
Заголовки перенаправления должны начинаться с Location:.
Location:
header("Location: /{$menu}/{$item}/");
Вам нужно сделать header("Location: /{$menu}/{$item}/");
См. Пример на HTTP 303 Страница Википедии
Ответ сервера: HTTP/1.1 303 See OtherLocation: <a href="http://example.org/" rel="nofollow">http://example.org/</a>
Ответ сервера:
HTTP/1.1 303 See OtherLocation: <a href="http://example.org/" rel="nofollow">http://example.org/</a>
HTTP/1.1 303 See Other
Location: <a href="http://example.org/" rel="nofollow">http://example.org/</a>