将Drupal 7站点移动到另一台服务器上,可以';t登录

将Drupal 7站点移动到另一台服务器上,可以';t登录,drupal,drupal-7,Drupal,Drupal 7,我最近把我的Drupal7站点移到了一个新的托管服务器上,我被困在了登录页面上。一旦我尝试登录,我会被引导回同一页面,但URL从/user更改为/user/1,这让我相信我确实登录了,但我没有被转发到正确的页面 我尝试清理缓存,清空数据库中的缓存表,但没有任何帮助 有什么想法吗 编辑:为了让事情更清楚一点,我已经为其他Drupal 7站点使用了特定的服务器,因此我知道这里的服务器配置没有问题。我怀疑/sites/default/settings.php中的$cookie\u域不正确 尝试使其与您

我最近把我的Drupal7站点移到了一个新的托管服务器上,我被困在了登录页面上。一旦我尝试登录,我会被引导回同一页面,但URL从
/user
更改为
/user/1
,这让我相信我确实登录了,但我没有被转发到正确的页面

我尝试清理缓存,清空数据库中的缓存表,但没有任何帮助

有什么想法吗


编辑:为了让事情更清楚一点,我已经为其他Drupal 7站点使用了特定的服务器,因此我知道这里的服务器配置没有问题。

我怀疑
/sites/default/settings.php中的
$cookie\u域
不正确

尝试使其与您的新域匹配,并确保有一个前导点

$cookie_domain = '.mydomain.co.uk';

有时,与站点迁移后登录相关的问题可能是因为在第一台计算机上启用了mod_rewrite,但在第二台计算机上未启用。测试这一点的一个简单方法是使用?q=URL格式(http://site.localhost?q=user)看看你能不能像那样登录。如果这样做有效,那么您可以在Drupal界面中禁用干净的URL,或者在Apache中启用mod rewrite。

在我的例子中,只有在刷新Drupal根文件夹中的.htaccess文件后,问题才得以解决。
你可以在这里找到消息来源:

seddonym关于mod_rewrite的评论让我找到了一个稍微不同的解决方案。我也遇到了同样的问题,但通过将文件
rewrite.load
/etc/apache2/mods available
复制到
/etc/apache2/mods enabled
来解决


我认为启用mods的文件是某种链接文件(我对linux还是新手),但是复制这些文件效果很好。也许有人会过来告诉我们正确的方法。

有时,您只需清除域/网站的cookies,可能是您的旧cookies仍然存在导致此问题的原因

使用cookie管理器帮助简化此操作,例如:


其他答案可能是未安装重写php模块,为此,请执行以下操作:

sudoa2enmod重写

重新启动apache2


sudo服务apache2重启

在我的例子中,它非常愚蠢,在我的page.tpl.php上,没有任何“内容”,页面--user.tpl.php没有被读取。只有一行代码显示page.tpl.php中的内容

虽然你不可能像我一样愚蠢也许这会有帮助


阿恩

请解释问题被否决的原因。试着问一下服务器故障。stackoverflow用于编程问题。看这里-@AntonyScott所以就因为我的问题中有“服务器”这个词,你就认为它属于其他地方?这与服务器配置无关。嘿,我没有投你反对票。是别人干的。但是,我不得不说,在你的问题中我看不到与编程相关的问题。但是我不是drupal专家:)您可以通过包含一些您怀疑是导致问题的源代码来改进这个问题。然而,这可能是一个候选人转移到服务器故障或网站管理员。你说这与服务器配置无关,但你也说这只是在你切换服务器时开始的,因此确定两台服务器之间的差异似乎是一个合理的开始。解决了我的问题。谢谢只是想在Apache上添加启用重写模块的命令:“sudo a2enmod Rewrite”并在该命令之后重新启动Apache:“sudo service apache2 restart”这种方法确实帮助我解决了这个问题,正如Qorbani评论的那样,可以使用命令
a2enmod Rewrite
启用mod_Rewrite,然后重新启动Apache服务。@seddonym,你救了我一天。我花了大约10个小时来寻找那个棘手的问题。清除缓存、截断会话表、添加cookie\u域设置、删除cookie等等。但这一次成功了。非常感谢。@leo-您的站点是否有
www.
前缀,例如
www.mydomain.co.uk
?这对我不起作用,但我没有www前缀,
.mydomain.co.uk
覆盖了所有域前缀,即
www
mysubdomain
。如果您没有登录,那么使用Drush清除缓存也是值得的,因为我在demo.domain.com/subdirectory上有一个站点,并且我必须设置$cookie_domain='.domain.com';谢谢你的提示!没有任何内容是什么意思?文件大小是否为0字节?缺少。。我看到了标签,因为它被包括在内。就像我说的,笨蛋。。但两年后,你有时会忘记一些事情P