"这里不允许" drupal更新后

时间:2017-06-15 10:41:02

标签: apache .htaccess drupal-7

刚刚将Drupal升级到7.55并且出现了500错误。 打开logs/error.log并看到自升级以来出现这种情况:

<site-root>/.htaccess: Require not allowed here

我看到更新已经取代了这个:

<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock))$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig\.save)$">
        Order allow,deny
    </FilesMatch>

有了这个:

<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock))$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig\.save)$">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
  </IfModule>
</FilesMatch>

我已经改回来了,现在看起来还可以,但这里有什么问题?

2 个答案:

答案 0 :(得分:1)

  

.htaccess:这里不允许

您的服务器配置必须允许您在.htaccess

中使用该指令

http://httpd.apache.org/docs/2.2/mod/core.html#require说,

  

覆盖:AuthConfig

这意味着AllowOverride需要包含AuthConfig或设置为All,以便您能够在.htaccess上下文中使用Require指令。

答案 1 :(得分:0)

“ Require”是AuthConfig指令的一种。您需要在httpd.conf中指定.htaccess中允许使用的指令类型。

<Directory DIRECTORY>
    ...
    AllowOverride AuthConfig
</Directory>

此目录是.htaccess所在的目录。

请参见https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride