无论如何阻止访问特定的URL,例如通过htaccess?

时间:2012-02-13 14:44:21

标签: apache security .htaccess

我需要阻止访问我网站中的特定网址。但我不确定如何,并且很难理解htaccess的复杂性。 ^^

我需要阻止访问这些类型网址的访问,例如。

我当前的htaccess代码

DirectoryIndex index.html index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(png|gif|ico|swf|jpe?g|js|css)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php?sef_rewrite=1 [L,QSA]
</IfModule>

<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from xx.xx.xx.xx 
deny from xx.xx.xx.xx 

我应该怎样输入htaccess来阻止这些访问?以什么顺序?在我当前的代码之前或之后?

2 个答案:

答案 0 :(得分:1)

RewriteBase / 之前RewriteCond %{REQUEST_FILENAME} !\.(png|...之后添加以下内容。它会向客户端返回403 Forbidden status code

RewritCond %{REQUEST_URI} (?:(?:katherine-blouse-on-fire)|(?:antique-for-preservation)) [NC,OR]
RewritCond %{QUERY_STRING} type\=extended&name\=stackoverflow [NC]
RewriteRule ^ - [F]

定义:

答案 1 :(得分:0)

如果您有mod_alias,您可能希望也可能不希望使用<IfModule mod_alias.c> Redirect 403 /katherine-blouse-on-fire Redirect 403 /antique-for-preservation </IfModule> ;语法稍微可读,但它只匹配路径(即不是查询字符串):

{{1}}