У меня есть клиент, у которого много клиентов блога. Каждый из этих блогов WordPress вызывает плагин, который предоставляет ссылку на продукт. Состав этой ссылки выглядит следующим образом:
{веб-сайт}/wp-content/plugins/prodx/product?id=432320
Это отлично работает на всех блогах, кроме двух. На этих двух, когда вы пытаетесь позвонить по URL-адресу, вы получаете 404.
Итак, я отключил все плагины, кроме prodx, и вернул тему по умолчанию (Kubrick), думая, что, возможно, это делает перехват плагина с API add_action(), например, перехват URL-адресов и их перенаправление. Однако это не помогло.
Итак, я обновил WordPress до последней версии. Опять не исправили.
Итак, я проверил разрешения, сравнив с блогом, который работал нормально. Опять не исправили.
Поэтому я заменил .htaccess на один из работающего блога. Опять не исправили.
Поэтому я заменил все файлы, используя некоторые из рабочего блога, который был идентичен этому, а затем восстановил файл wp-config.php обратно, чтобы он общался с нужной базой данных блога. Опять не исправили.
Я снова тщательно проверил разрешения, сравнив их с отлично работающим блогом. Опять не исправили.
Итак, я создал test.php, который выглядит так:
<?php
print_r($_GET);
echo "hello world";
Затем я скопировал его в другую папку плагинов и использовал свой браузер, чтобы добраться до него — снова 404. Поэтому я скопировал его в корень wp-content/plugins и попытался вызвать его там — снова 404. Итак, я скопировал его в wp-content -- снова 404. Наконец, я скопировал его в корень веб-сайта блога WordPress, и на этот раз это сработало!
Не имеет смысла.
Я начал думать, что, возможно, что-то происходит с /etc/httpd/conf/httpd.conf для этого клиента, но единственное, что я увидел в них для этого клиента, это то, что IP-адрес отличался от работающего блога клиента. Каждый клиент получает свой собственный IP в этой среде, созданной моим клиентом.
Мой клиентский сисоп тоже сбит с толку.
Что по-твоему происходит? Что-то не так в базе данных WP для этого клиента? Что-то не так в httpd.conf?