.htaccess和Apache ModSecurity

我有这个.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写道:

ModSecurity:警告。 “%{tx.allowed_methods}”与“REQUEST_METHOD”之间必须匹配。 [file“/modsecurity/modsecurity_crs_30_http_policy.conf”] [line 31“] [id”960032“] [rev”2“] [msg”方法不被策略允许“] [data”GET“] [severity”CRITICAL “标记”WASCTC / WASC-15“] [标记”OWASP_TOP_10 / A6“] [ver”OWASP_CRS / 2.2.9“] [成熟度9”] [准确性“9”] [标记“OWASP_CRS / POLICY / METHOD_NOT_ALLOWED” “] [标记”OWASP_AppSensor / RE1“] [标记”PCI / 12.1“]

我如何编辑我的htaccess? 多谢你们。


正如第一条评论所言,您有一条ModSecurity规则阻止您的请求。 如果您的主机提供商在构建ModSecurity时已启用'--enable-htaccess-config',那么您可以从htaccess文件中禁用该特定规则。 您可以使用类似于以下内容的内容:

<IfModule mod_security.c> SecRuleRemoveById 960032 </IfModule>

但是,如果您的提供者尚未启用此功能,并且您无权访问任何Apache配置文件(httpd.conf等)。 那么你将不得不联系你的主机提供商来解决这个问题。 抱歉

链接地址: http://www.djcxy.com/p/36545.html

上一篇: .htaccess and Apache ModSecurity

下一篇: htaccess mod