Как отключить защищенные страницы на локальном сервере?

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

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

Как отключить его?

Ответ 1

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

Ответ 2

В файле settings.php:

$conf['securepages_enable'] = FALSE;

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

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

Ответ 3

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

drush vset securepages_enable 0

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

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

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

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

Ответ 4

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

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

Тогда:

DELETE FROM cache;
DELETE FROM cache_page;

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

Ответ 5

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

drush dis -y securepages

Ответ 6

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

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

// 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;
}

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