我有这个.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]
但是阿帕奇给我写了这个:
ModSecurity:警告。匹配"在%{tx.allowed_methods}"反对" REQUEST_METHOD"需要。 [file" /modsecurity/modsecurity_crs_30_http_policy.conf"] [line" 31"] [id" 960032"] [rev" 2"] [ msg"政策不允许使用方法"] [数据" GET"] [严重性"关键"] [ver" OWASP_CRS / 2.2.9&#34 ;] [成熟度" 9"] [准确度" 9"] [标签" OWASP_CRS / POLICY / METHOD_NOT_ALLOWED"] [标签" WASCTC / WASC-15& #34;] [tag" OWASP_TOP_10 / A6"] [tag" OWASP_AppSensor / RE1"] [tag" PCI / 12.1"]
我如何编辑我的htaccess?谢谢你们。
答案 0 :(得分:0)
正如第一条评论所说,您有一条阻止您的请求的ModSecurity规则。如果您的托管服务提供商已启用' - enable-htaccess-config'在构建ModSecurity时,您可以从htaccess文件中禁用该特定规则。您可以使用类似于以下内容的内容:
<IfModule mod_security.c>
SecRuleRemoveById 960032
</IfModule>
但是,如果您的提供商未启用此功能,并且您无法访问任何Apache配置文件(httpd.conf等)。然后,您必须与您的托管服务提供商联系以解决问题。遗憾