Как отключить безопасные страницы на локальном сервере? - PullRequest
10 голосов
/ 27 декабря 2010

Я только что переместил Drupal на свой локальный сервер и забыл отключить безопасные страницы.

Теперь я не могу получить доступ к страницам администратора, поскольку сайт переключается на HTTPS.

Как я могуотключить это?

Ответы [ 6 ]

21 голосов
/ 18 июня 2011

В вашем файле settings.php:

$conf['securepages_enable'] = FALSE;

Это переопределит настройку базы данных.

В вашем sites/example.com/settings.php, пропустите эту строку, и тогда она будет использовать любое значение из базы данных.

7 голосов
/ 28 сентября 2012

Если вы используете drush, вы можете оставить модуль «Защищенные страницы» включенным и просто снять флажок в собственной конфигурации модуля, например:

drush vset securepages_enable 0

Это остановит перенаправление.

Вы также можете изменить URL-адреса, если хотите, как указано ниже, но обычно этого достаточно.

drush vset securepages_basepath http://nominet.dev
drush vset securepages_basepath_ssl http://nominet.dev

Я использую Drupal 7, так что YMMV, но, похоже, это простое решение на основе Drushследуя вышеприведенному ответу.

5 голосов
/ 28 декабря 2010

Я сделал это без отключения модуля, используя SQL для изменения настройки переменной.Сначала сделайте резервную копию вашей базы данных (если вы поставили точку с запятой не в том месте; удалите ее, всегда сделайте резервную копию базы данных, прежде чем вносить изменения в командной строке), а затем запустите следующий SQL в вашей базе данных:

UPDATE variable SET value = 's:1:"0";' WHERE name = 'securepages_enable';

Тогда:

DELETE FROM cache;
DELETE FROM cache_page;

Эти две строки нужны для очистки кэша, в противном случае переменная может остаться на некоторое время.

2 голосов
/ 14 октября 2013

Я знаю, что этот вопрос старый и на него отвечали несколько раз, но есть еще один вариант, который еще не был предложен.

Вы можете полностью отключить его:

// Disable SecurePages completely.
$conf['securepages_enable'] = FALSE;

и измените settings.php для принудительного применения HTTPS в зависимости от некоторого контекста, например:

if (isset($_SERVER['environment'] && $_SERVER['environment'] == 'staging')) {
  $conf['securepages_basepath'] = 'http://staging.example.com';
  $conf['securepages_basepath_ssl'] = 'https://staging.example.com';
} else if (isset($_SERVER['environment'] && $_SERVER['environment'] == 'production')) {
  $conf['securepages_basepath'] = 'http://www.example.com';
  $conf['securepages_basepath_ssl'] = 'https://www.example.com';
} else {
  // We're on dev or some other server instance where SSL isn't needed.
  $conf['securepages_enable'] = FALSE;
}

Это всего лишь пример, но это был полезный способ для нас управлять сайтами, которые существуют на сервере разработки, QAсервер и производственный сервер, где мы хотим отслеживать изменения settings.php в управлении версиями без необходимости что-либо менять в каждой среде.

2 голосов
/ 16 февраля 2012

Если у вас установлен Drush:

drush dis -y securepages
1 голос
/ 27 декабря 2010

Вы можете отключить модуль напрямую через базу данных.Просто зайдите в таблицу system, найдите свой модуль в столбце name и установите для поля status ноль.

...