Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 禁止使用正则表达式访问htaccess url_.htaccess - Fatal编程技术网

.htaccess 禁止使用正则表达式访问htaccess url

.htaccess 禁止使用正则表达式访问htaccess url,.htaccess,.htaccess,我需要阻止所有使用特定url的请求,如 http://www.domain.est/-p-.html?slave_id=15265&osCsid=6j0ltvo8d9i8h30koahqusvua7 我试过了 RewriteCond %{THE_REQUEST} /(\/-p-\.html)+(\?slave_id\=\d{1,6})?(\&osCsid\=\w{1,26})? [NC] RewriteRule ^ - [F] 但是不起作用。 我错在哪里 谢谢这是一个更容易处

我需要阻止所有使用特定url的请求,如

http://www.domain.est/-p-.html?slave_id=15265&osCsid=6j0ltvo8d9i8h30koahqusvua7
我试过了

RewriteCond %{THE_REQUEST} /(\/-p-\.html)+(\?slave_id\=\d{1,6})?(\&osCsid\=\w{1,26})? [NC]
RewriteRule ^ - [F]
但是不起作用。 我错在哪里


谢谢

这是一个更容易处理的版本,也应该更健壮:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/-p-\.html$ [NC]
RewriteCond %{QUERY_STRING} slave_id=[0-9]{1,6}
RewriteCond %{QUERY_STRING} osCsid=[0-9a-z]{1,26}
RewriteRule ^ - [F]
注意:查询参数匹配模式不是绝对精确的,但对于几乎所有情况都应该足够健壮


显然,要使其工作,必须启用http服务器重写模块。这些规则将在http服务器主机配置或动态配置文件(
.htaccess
)中工作。如果您决定使用此类动态配置文件,您还必须注意在主机配置中使用
AllowOverride
指令启用此类文件的解释,并且该文件必须位于您配置的http主机
DocumentRoot
文件夹中



还有一个一般性提示:您应该始终希望将这些规则放在http服务器主机配置中,而不是使用动态配置文件(“.htaccess”)。这些文件是出了名的容易出错,难以调试,而且它们确实降低了服务器的速度。只有在您无法控制主机配置的情况下(阅读:非常便宜的主机服务提供商),或者如果您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦),才提供它们作为最后一个选项。

Thank's!!工作很好。