Вы можете использовать пользовательский обработчик ErrorDocument
, написанный на PHP, для перехвата URL-адресов, которые «проскользнули»:
# .htaccess file
ErrorDocument 404 /not-found.php
И в not-found.php
:
switch($_SERVER['REDIRECT_URL']) {
case '/really_old_page.php':
header('HTTP/1.1 301 Moved Permanently');
header('Location: /new-url/...');
/* As suggested in the comment, exit here.
Additional output might not be handled well and
provokes undefined behavior. */
exit;
default:
header('HTTP/1.1 404 Not Found');
die('404 - Not Found');
}