Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Block one specific URL by htaccess

Tags:

.htaccess

I could not find the solution to this question. Maybe I used the wrong search terms? (htaccess block url, htaccess block single url, block specific url htaccess, ...)

I have a page with a URL like this:

https://www.mathelounge.de/40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar

I would like to block this URL because different bots (and humans).

I have tried the following rules within htaccess:

RewriteCond %{REQUEST_URI} ^40224\/$ [NC]
RewriteRule .* - [F]

without success.

like image 431
Avatar Avatar asked Aug 11 '13 15:08

Avatar


2 Answers

this can also be used:

RewriteCond %{HTTP_REFERER} 40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar [NC,OR]
like image 184
Wong Bejo Avatar answered Oct 05 '22 04:10

Wong Bejo


When someone requests:

https://www.mathelounge.de/40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar

The %{REQUEST_URI} variable is:

/40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar

And the regex ^40224\/$ will never match that. In fact, you don't even need a RewriteCond in this instance, just put the pattern in the rule:

RewriteRule ^40224/redaktionelle-frage-wann-antwort-wann-lediglich-kommentar$ - [F]

Note that the pattern in the rule itself doesn't lead with a /, it's because for the rule, it's stripped off, but for the %{REQUEST_URI} var, it's preserved.

like image 28
Jon Lin Avatar answered Oct 05 '22 04:10

Jon Lin