Reputation: 2019
How can I check if a header exist. I dont want to check if the value is different of "" I want to check if it really exist using:
RewriteCond
How can I do that inside htaccess file?
Upvotes: 6
Views: 23928
Reputation: 111
@anhubhava's answer was useful but logic inverted! it should be:
RewriteEngine On
# block if request header X-SomeHeader doesn't exist
RewriteCond %{HTTP:X-SomeHeader} ^$
RewriteRule ^ - [F]
or for an opposite example:
RewriteEngine On
# redirect foo to bar if request header X-SomeHeader exists
RewriteCond %{HTTP:X-SomeHeader} !^$
RewriteRule ^foo$ bar [L]
Upvotes: 11
Reputation: 1
Try this way
RewriteEngine On
# block if request header X-SomeHeader doesn't exist
RewriteCond %{HTTP:TID} ^.+$
RewriteRule ^ - [L]
RewriteRule ^ - [F]
Upvotes: 0
Reputation: 785276
You can use a condition like this to know if a header X-SomeHeader
exists or not:
RewriteEngine On
# block if request header X-SomeHeader doesn't exist
RewriteCond %{HTTP:X-SomeHeader} !^$
RewriteRule ^ - [F]
Upvotes: 3