Я только что перевел Drupal на свой локальный сервер, и я забыл отключить безопасные страницы.
Теперь я не могу получить доступ к страницам администратора, потому что сайт переключается на HTTPS.
Как отключить его?
Я только что перевел Drupal на свой локальный сервер, и я забыл отключить безопасные страницы.
Теперь я не могу получить доступ к страницам администратора, потому что сайт переключается на HTTPS.
Как отключить его?
Вы можете отключить модуль напрямую через базу данных. Просто зайдите в таблицу system
, найдите свой модуль в столбце name
и установите для поля status
значение 0.
В файле settings.php:
$conf['securepages_enable'] = FALSE;
Это переопределит настройку базы данных.
В sites/example.com/settings.php
оставьте эту строку, а затем она будет использовать любое значение в базе данных.
Если вы используете 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, следуя приведенному выше ответу.
То, как я это сделал, не отключая модуль, - это использовать SQL для изменения настройки переменной. Сначала создайте резервную копию своей базы данных (если вы положили точку с запятой в неправильное место, поцарапайте ее, всегда создайте резервную копию своей базы данных до внесения изменений в командной строке), а затем запустите следующий SQL в своей базе данных:
UPDATE variable SET value = 's:1:"0";' WHERE name = 'securepages_enable';
Тогда:
DELETE FROM cache;
DELETE FROM cache_page;
Вам нужны эти две строки, чтобы очистить кеш, иначе переменная может зависнуть некоторое время.
Если у вас установлен Drush:
drush dis -y securepages
Я знаю, что этот вопрос старый, и ему ответили несколько раз, но есть еще один вариант, который еще не был предложен.
Вы можете полностью отключить его:
// 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 в управлении версиями без для изменения вещей в каждой среде.