Я вважаю, що саме ця redirect_canonical
функція прив'язана template_redirect
. Ви можете вимкнути це за допомогою:
remove_filter('template_redirect', 'redirect_canonical');
Але вам слід подумати над тим, чи хочете ви це робити, оскільки це досить складно і виконує деякі важливі функції SEO:
Переспрямовує вхідні посилання на належну URL-адресу на основі URL-адреси сайту.
Пошукові системи вважають, що www.somedomain.com та somedomain.com є двома різними URL-адресами, коли вони обидва переходять в одне місце. Це удосконалення SEO запобігає штрафу за дубльований вміст шляхом перенаправлення всіх вхідних посилань на те чи інше.
Запобігає перенаправлення на канали, відстеження, пошук, спливаючі коментарі та URL-адреси адміністратора. Не переспрямовується на IIS 7, що не підтримує досить постійну посилання, попередній перегляд сторінки / публікації, адміністратор WP, трекбек, robots.txt, пошук або на POST-запити.
Також спробує знайти правильне посилання, коли користувач введе URL-адресу, яка не існує на основі точного запиту WordPress. Натомість спробуємо проаналізувати URL-адресу чи запит, намагаючись визначити правильну сторінку, на яку потрібно перейти.
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/canonical.php#L13
Наступне може вбити автозавершення, не возившись із компонентом SEO, але я не можу цього обіцяти. Код ледве перевіряється, оскільки я ніколи не хотів цього відключати. Мені б справді довелося вчитися, redirect_canonical
щоб бути впевненим у чомусь.
function kill_404_redirect_wpse_92103() {
if (is_404()) {
add_action('redirect_canonical','__return_false');
}
}
add_action('template_redirect','kill_404_redirect_wpse_92103',1);