Post 请求无法使用 Drupal 和 Ubuntu 14.04

Post request not working Drupal and Ubuntu 14.04

在我的 ubuntu 14.04 OS 机器上 drupal 7 登录不工作,可能不仅是登录而且所有 post 请求在这里都不起作用。对于相同的文件系统和代码库,它在 windows 7 机器上运行良好。

这是我的 Apache 服务器配置:

<VirtualHost *:80>

ServerName somedomain.local

DocumentRoot "/home/mycompany/Development/Projects/Drupal/cbb"

<Directory "/home/mycompany/Development/Projects/Drupal/cbb/">

   Options Indexes FollowSymLinks

   AllowOverride All

   Require all granted    

</Directory>

</VirtualHost>

对于上述配置,当我尝试提交登录数据时,它显示.. “网络错误:404 未找到 - http://somedomain.local/user”。

#更新:

我刚刚发现登录不能仅从 www.domainname.local/user 路径工作,但如果主页侧边栏中的这个登录表单工作正常,对于 ubuntu 中的所有 drupal 父级机器。有了这个没有错误信息也不会显示。

我在 Ubuntu 机器上的两个 drupal 站点遇到了麻烦。任何帮助将不胜感激。

您的 Apache vhost 文件看起来像是设置了关键组件,我假设 .htaccess 文件存在于您的文档根目录中,并且未根据 Drupal 默认设置进行修改。

当您单击侧边栏中的登录名 link 时,是否会转到 http://somedomain.local?q=user/login

您的#update 表明,即使您的 Apache 环境可能已针对 "clean URLs" 设置,Drupal 中的该功能也未在 管理 > 配置 > 搜索和元数据 > 清理 URLs 中启用.

如果修改此项会影响您对 Drupal 的访问,您可以 apply/disable 通过 Drush (drush vset clean_url 0 --yes) 或直接通过 MySQL (UPDATE variable SET value = 's:1:"0";' WHERE name = 'clean_url';) 进行此更改 [= =14=].

另外值得一提的是,在这个相关问题上看到它 (Very strange Drupal 7 404 behaviour):确保 Apache 模块 mod_rewrite 和 mod_headers 已启用:

sudo a2enmod rewrite
sudo service apache2 restart
  1. 检查 .htaccess 文件是否存在于 drupal 根目录中。
  2. 检查您是否已将域添加到 /etc/hosts 文件

    127.0.0.1 domain.name
    
  3. 带 'www' 和不带它的域是完全不同的。将两者都添加到 /etc/hosts 和 apache 的配置文件中以避免出现问题。
  4. 清空缓存,避免之前的域名存在缓存中

    drush cc all
    
  5. 如果您刚刚将新站点添加到 apache 的配置中,请务必 运行:

    sudo service apache2 graceful