【发布时间】:2016-06-28 08:36:53
【问题描述】:
我有这个 .htaccess
选项 - 索引 重写引擎开启 RewriteBase / # 强制排除尾部斜杠 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.*)/$ 重写规则 ^(.+)/$ $1 [R=307,L] # 限制php文件直接访问 # 这部分产生问题 RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] 重写规则 \.php$ - [F] # 允许直接显示任何存在的文件或目录 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 "Method is not allowed by policy"] [data "GET"] [severity "CRITICAL "] [ver "OWASP_CRS/2.2.9"] [成熟度 "9"] [准确度 "9"] [标签 "OWASP_CRS/POLICY/METHOD_NOT_ALLOWED"] [标签 "WASCTC/WASC-15"] [标签 "OWASP_TOP_10/A6 "] [标签 "OWASP_AppSensor/RE1"] [标签 "PCI/12.1"]
我必须如何编辑我的 htaccess?谢谢大家。
【问题讨论】:
-
Mod security 和 htaccess 是两种不同的技术。您的规则在 mod_sec 中匹配 OWASP 规则集,而不是在 htaccess 中
-
谢谢,但我无法编辑主机的 pache 配置。我已将 php 的版本从 5.5 更改为 5.3
标签: php apache .htaccess mod-rewrite