当前位置: 首页 > 知识库问答 >
问题:

.htaccess和apachemodsecurity

羊越
2023-03-14

我有这个. htaccess

Options -Indexes

    RewriteEngine On
    RewriteBase /

    # Force to exclude the trailing slash
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.*)/$
    RewriteRule ^(.+)/$ $1 [R=307,L]

    # Restrict php files direct access
    # this part generate the problem
    RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ]
    RewriteRule \.php$ - [F] 

    # Allow any files or directories that exist to be displayed directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php?$1 [QSA,L]

但是apache给我写了这样一封信:

安全:警告。需要将“%{tx.allowed_methods}”与“REQUEST_METHOD”匹配。[文件/modsecurity/modsecurity_crs_30_http_policy.conf”][line“31”][id“960032”][rev“2”][msg”方法不被策略所允许”][data“GET”][severity“CRITICAL”][ver“OWASP_crs/2.2.9”][maturity“9”][currency“9”][tag awasp_crs/policy/Method u不被允许”][tag tag wasct/WASC-15][tag tag OWASP_TOP_10/A6][tag OWASP]“PCI/12.1”]

我必须如何编辑我的htaccess?谢谢伙计们。

共有1个答案

卞博简
2023-03-14

正如第一条评论所说,您有一个ModSecurity规则阻止您的请求。如果您的托管提供商在构建ModSecurity时启用了“-enable htaccess config”,则您有权从htaccess文件中禁用该特定规则。您可以使用类似于以下内容的内容:

但是,如果您的提供商没有启用此功能,并且您无权访问任何Apache配置文件(httpd.conf等)。然后,您将不得不联系您的托管提供商来解决问题。很抱歉啊

 类似资料:
  • 我的.htaccess中有这段代码,我需要转换到microsoft azure主机,因为它不起作用。 有人能帮我吗?谢谢各位

  • 问题内容: 我正在编写一个小型CMS,以更好地了解它们的工作方式并学习有关PHP的一些新知识。但是,我遇到了一个问题。 我想使用mod_rewrite(尽管如果有人有更好的解决方案,我会尝试使用它)来生成漂亮的干净URL,所以site.com/index.php?page=2可以改为site.com/tools 据我了解,每次添加新页面时,我都需要更改.htaccess文件,这是我遇到问题的地方,

  • 问题内容: 我以前从未使用过CodeIgniter,更不用说任何php框架了,我想我可以试试看。一切正常,除了我似乎无法从URL中删除index.php并仍然访问我的页面。 我从未使用过MVC结构,因此我正在学习中,如果做错了,请原谅我。 我试图通过简单地键入 localhost / ci / about* 来访问我创建的名为“ about_page.php”的视图 , 但是目前我只能使用 loc

  • 我在根目录中有一个htaccess文件,在电影文件夹中有另一个htaccess文件。我想停止所有重写URL或影响“电影”文件夹的条件。我在电影文件夹访问中有一些其他规则。 我的根访问权限如下所示 我的子目录电影文件夹htaccess 上面的代码只是我最初的htaccess的一部分

  • .htaccess文件提供了针对每个目录改变配置的方法。 .htaccess 文件 相关模块 相关指令 core mod_authn_file mod_authz_groupfile mod_cgi mod_include mod_mime AccessFileName AllowOverride Options AddHandler SetHandler AuthType AuthName Au

  • 问题内容: 如何使用PHP中特定的.htaccess和mod_rewrite页面强制使用SSL / https。 问题答案: 对于Apache,您可以使用强制SSL : 除非为当前连接启用了SSL上的HTTP(即HTTPS),否则该指令禁止访问。这在启用SSL的虚拟主机或目录中非常方便,可防止配置错误暴露应受保护的内容。使用此指令时,将拒绝所有未使用SSL的请求。 不过,这不会重定向到https。