反正阻止访问特定的网址,用于例如,通过htaccess的?(Anyway to block visi

2019-10-30 08:49发布

我需要我的网站内阻止访问特定的网址。 但我不能确定如何,并在理解的htaccess的复杂可怕。 ^^

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

  • http://mydomain.com/katherine-blouse-on-fire
  • http://mydomain.com/antique-for-preservation
  • http://mydomain.com/?type=extended&name=stackoverflow

我目前的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的阻止这些访问? 以什么顺序? 我当前的代码之前还是之后?

Answer 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]

定义:

  • 标志F Apache的文档


Answer 2:

您可能会或可能不希望使用mod_alias ,如果你有它可用; 语法稍有更可读的,但它只会匹配路径(即,不查询串):

<IfModule mod_alias.c>
Redirect 403 /katherine-blouse-on-fire
Redirect 403 /antique-for-preservation
</IfModule>


文章来源: Anyway to block visits to specific URLs, for eg via htaccess?