如何禁用本地服务器上的安全页面?

时间:2010-12-27 15:15:47

标签: drupal drupal-6

我刚刚将Drupal移动到我的本地服务器,我忘了禁用安全页面。

现在我无法访问管理页面,因为该网站会切换到HTTPS。

如何禁用它?

6 个答案:

答案 0 :(得分:21)

在settings.php文件中:

$conf['securepages_enable'] = FALSE;

这将覆盖数据库设置。

sites/example.com/settings.php中,将此行保留,然后它将使用数据库中的任何值。

答案 1 :(得分:6)

如果您正在使用drush,您可以启用Secure Pages模块,只需关闭模块自己的配置中的复选框,如:

drush vset securepages_enable 0

这将停止重定向。

如果需要,您也可以更改网址,如下所示,但上述情况通常就足够了。

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

我正在运行Drupal 7顺便说一下,所以YMMV,但在上面的回答之后,似乎是一个简单的基于drush的解决方案。

答案 2 :(得分:5)

我在不禁用模块的情况下完成它的方法是使用SQL来更改变量设置。首先备份数据库(如果你将分号放在错误的位置;在命令行上进行更改之前,请先删除始终备份数据库),然后在数据库上运行以下SQL: / p>

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

然后:

DELETE FROM cache;
DELETE FROM cache_page;

您需要这两行才能清除缓存,否则变量可能会暂停一段时间。

答案 3 :(得分:2)

如果您安装了Drush:

drush dis -y securepages

答案 4 :(得分:2)

我知道这个问题很老了,已经回答了几次,但是还有另外一个选项尚未提出。

你可以完全禁用它:

// 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更改而不必改变每个环境中的事物。

答案 5 :(得分:1)

您可以通过数据库直接禁用该模块。只需进入system表,在name列下查找您的模块,然后将status字段设置为零。