Intereting Posts
Предотвратить пользователя Admin для редактирования / просмотра супер администратора из списка пользователей Многоуровневая конфигурация WordPress wp-admin медленный в многопользовательском режиме Страница не найдена ошибка при добавлении текста `2 = 2 ^ 1` на страницу Обрезать изображение после загрузки на пользовательскую страницу учетной записи Как изменить размер целевого изображения, нажатого в стандартной галерее WordPress Как изменить целевую страницу URL? Назначить «Календарь событий» для подстраницы Несколько авторов и читателей ограничены ролью Запросить текущие и будущие события, упорядоченные по дате начала условный короткий код не работает Существенные веб-сайты / блоги в WordPress? Есть ли ограничение размера изображения для wordpress xml-rpc? Не удается получить идентификатор сообщения в functions.php? как сделать эту работу цикла

Перемещение сервера: все страницы, ведущие домой

Проблема.

Независимо от того, какой URL я вхожу, на всех страницах отображается статическая страница сайта. Известные URL-адреса сайтов загружают главную страницу (но сохраняют введенный URL) и должны быть 404 пути, например /I-know-you-do-not-exist-4343 также загружать домашнюю страницу (опять же, сохраняя URL-адрес).

Я могу обратиться к администратору WordPress без проблем – это просто внешний интерфейс сайта, который является отвратительным.

Кроме того, сайт отлично работает, если я полностью удаляю постоянные ссылки и перехожу с ?post=2 . Сайт css / js / images загружается штрафом.

Просто факты, пожалуйста:

  • Ubuntu 14.04
  • Apache 2.4.7
  • PHP 5.6.19-1
  • nginx 1.4.6 (передний конец)
  • WordPress 4.4.2
  • mod_rewrite включен (conf-файл ниже)
  • разрешения и права собственности. WP может переписать файл .htaccess.

Я обычно определяю два параметра url сайта динамически в wp-config но попытался удалить их, а также вручную ввести их как в wp-config, так и непосредственно в базу данных.

 define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/wordpress'); define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']); 

Я сбросил свои постоянные ссылки, раздавил куки и перезапустил apache всего около 800 раз.

Я отключил все плагины.

По причинам управления версиями WordPress находится в скелете подпапки ala Jaquith . В основном,

  /var/www/html/ /var/www/html/app/ (wp-content) /var/www/html/media/ (wp-content/uploads) /var/www/html/wordpress/ 

И вот бит из моего файла conf:

  DocumentRoot /var/www/html <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> 

Основной nginx-> apache работает нормально. Он пересылает: 8080 и ports.conf а также мой файл host.conf для виртуального хоста. То есть, если я поставлю <?php phpinfo(); ?> <?php phpinfo(); ?> в статический php-файл, все работает так, как ожидалось.

Первоначально у меня была проблема с бесконечным циклом, и с тех пор я добавил это в свой плагин сайта:

 remove_filter('template_redirect', 'redirect_canonical'); 

Вот nginx conf (в основном стандартная версия, на которую говорит интернет):

 server { listen 80; root /var/www/html; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } location ~ /\.ht { deny all; } } 

И вот заголовки ответов для типичного запроса:

 HTTP/1.1 200 OK Server: nginx/1.4.6 (Ubuntu) Date: Thu, 17 Mar 2016 02:13:24 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 5600 Connection: keep-alive Link: <http://example.com/wp-json/>; rel="https://api.w.org/", <http://example.com/>; rel=shortlink Vary: Accept-Encoding Content-Encoding: gzip 

Solutions Collecting From Web of "Перемещение сервера: все страницы, ведущие домой"

Ваш прокси переписывает все в index.php , что означает, что бэкэнд никогда не видит оригинальный URI. Прокси должно быть прозрачным, например:

 server { listen 80; server_name example.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } }