Перенёс WordPress на новый сервер, теперь пытается скачать файл

20 авг. 2014 г., 10:36:31
Просмотры: 55.9K
Голосов: 15

Начну с того, что я перенёс десятки сайтов с одного сервера на другой без каких-либо проблем.

Недавно я перенёс сайт, и когда посещаешь URL, автоматически скачивается файл с названием "download" без расширения размером всего 1КБ. Я сделал резервные копии всех файлов и выгрузил базы данных четырьмя разными способами, чтобы быть уверенным: BackWPup, BackUpWordPress и вручную путём архивирования файлов и скачивания через FTP.

Оригинальный сайт отлично работает на исходном сервере.

Я использовал метод, который всегда применял при переносе на новый сервер.

На новом сервере:

  1. Создаю новую БД, пользователя и импортирую базу данных
  2. Загружаю файлы и распаковываю
  3. Редактирую wp-config.php с новым именем БД, пользователем и паролем
  4. Меняю URL сайта, используя метод functions.php из WordPress Codex, здесь - http://codex.wordpress.org/Changing_The_Site_URL

Стоит также отметить, что я загрузил сайт на три разных сервера (включая поддомен на исходном сервере), везде с одинаковым результатом.

В дополнение к упомянутым выше методам, я попробовал следующие способы для устранения проблемы:

  1. Изменил название папки "plugins", чтобы проверить, не вызывает ли плагин эту ошибку
  2. Изменил название папки активной темы, чтобы проверить, не является ли тема причиной ошибки
  3. Изменил WP_DEBUG на "true" в wp-config.php - Но сайт не загружается, поэтому ошибки не отображаются.

В настоящее время проблемный сайт находится по адресу - http://cgdev.webworksplayground.com/

Спасибо за помощь.

0
Все ответы на вопрос 4
5
14

Полагаю, вы не смотрели файл, который загружается при скачивании, иначе вы бы увидели следующее:

<?php
/**
 * Фронтальный файл WordPress. Этот файл ничего не делает, но загружает
 * wp-blog-header.php, который уже выполняет работу и указывает WordPress загрузить тему.
 *
 * @package WordPress
 */

/**
 * Указывает WordPress загрузить тему и вывести её.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Загружает окружение и шаблон WordPress */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

Это легко можно распознать как содержимое файла index.php в корне вашей установки WordPress.

Что касается возможных причин такого поведения, проверьте, правильно ли выставлены права доступа к файлам, убедитесь, что ваш .htaccess файл корректен. Кроме того, могут быть некорректно настроены параметры хостинга, см. Кодекс: Хостинг для WordPress (хотя информации там немного) или здесь Какие лучшие практики по настройке сервера для сайтов на WordPress?.

Эти рекомендации помогут вам начать. На самом деле мне пришлось делать — в некоторой степени обоснованное — предположение о причинах, так что изучите этот вопрос глубже самостоятельно, но я почти уверен, что корень проблемы лежит в той области, которую я обозначил.

20 авг. 2014 г. 13:37:25
Комментарии

Спасибо за ответ. В файл .htaccess было добавлено следующее: # Use PHP54 Single php.ini as default AddHandler application/x-httpd-php54s .php После удаления этой строки все заработало как надо.

Travis Pflanz Travis Pflanz
20 авг. 2014 г. 15:12:48

Всегда пожалуйста. Это директива для использования PHP 5.4 с патчем Suhosin. Не совсем понятно, почему с ней возникают проблемы. Я использовал подобные директивы и никогда не сталкивался с трудностями. Возможно, стоит уточнить у поддержки вашего хостинга. @TravisPflanz

Nicolai Grossherr Nicolai Grossherr
20 авг. 2014 г. 17:21:42

Привет @something, у меня аналогичная проблема. Я проверил свой файл .htaccess и обнаружил, что моя ситуация похожа на проблему Трэвиса. Я тоже удалил этот дополнительный код из файла, но когда я пытаюсь обновить постоянные ссылки, этот код снова появляется в файле.

Keyur Patel Keyur Patel
30 июл. 2017 г. 22:23:08

@KeyurPatel Возможно, проблема в настройках сервера, посмотрите ссылки в моем ответе для получения дополнительной информации.

Nicolai Grossherr Nicolai Grossherr
30 июл. 2017 г. 23:47:11

В моем случае очистка данных сайта в браузере решила проблему (в Chrome: настройки > Настройки сайта > Все файлы cookie и данные сайтов > удалите соответствующие данные). Моя проблема возникла после установки большого PHP-модуля.

Eric H Eric H
12 нояб. 2019 г. 02:28:17
3

Простые шаги

1 - Перейдите в файловый менеджер через cPanel или FTP

2 - Удалите файл .htaccess (убедитесь, что создали резервную копию)

3 - Откройте ваш сайт и настройте постоянные ссылки — это создаст новый файл .htaccess

4 - Готово!

Я просто удалил файл .htaccess, и теперь всё работает идеально :)

3 июн. 2017 г. 22:42:23
Комментарии

Удаление .htaccess работает нормально, и новый .htaccess автоматически создается заново. Спасибо

Jamil Ahmed Jamil Ahmed
25 окт. 2017 г. 23:12:18

Да. Технически это работает, но если в файле .htaccess есть что-то еще, необходимое для сайта, все это будет удалено.

Travis Pflanz Travis Pflanz
21 мая 2020 г. 23:15:45

по сути, пересоздание файла .htaccess работает, но не обманывайтесь кэшированием Chrome.

Dan Rosenstark Dan Rosenstark
2 мар. 2021 г. 06:01:59
0

Вы также можете просто добавить следующую строку в .htaccess, что позволит использовать различные версии PHP для перестраховки.

AddHandler application/x-httpd-php52 .php .php5 .php4 .php3
11 нояб. 2014 г. 10:53:55
0

mu-plugins добавляет обработчик при сохранении конфигурации AddHandler application/x-httpd-php71 .php, из-за чего страница скачивается вместо обработки.

Если просто удалить строку из .htaccess (или удалить файл), строка будет возвращаться при каждом сохранении настроек.

Лучшее решение — изменить через FTP файл wp-content/mu-plugins/endurange-php-edge.php

Просто закомментируйте (добавив "//" перед строкой) строку 20:
// $this->hooks();

Ссылка: Проблема с htaccess после сохранения настроек

18 дек. 2017 г. 21:24:42