---
title: Troubleshooting conditions
summary: null
url: >-
  https://www.fastly.com/documentation/guides/full-site-delivery/conditions/troubleshooting-conditions
---

If you are having problems using conditions, here are some common things to look for.

## Check the Apply if field for if statements

Most problems with conditions occur in the Apply if parameter because it uses logical expressions to represent actual [VCL variables](https://www.fastly.com/documentation/reference/vcl/variables/) that specify when a condition should be applied to a configuration object. If you are having problems using conditions, start by checking to see if you've put an `if ()` statement in the wrong place. A condition's if statement is implied and doesn't need to be placed in the Apply if field of the condition window. You only need to enter an evaluated expression (e.g., `req.url ~ "^/special/"`).

## Check the construction of inverse regex matches

Consider if inverse regular expression (regex) matching might be the issue, especially if you're using it to exclude a particular URL in your condition. When using the `!~` (inverse regex match) to build expressions that exclude particular URLs, be thoughtful when also using the `||` or `&&` operators and multiple patterns.

For example, if you want to apply something to all URLs except those that start with `/admin`, the condition you'd enter into the Apply if field would be `req.url !~ "^/admin"`. If you also wanted to exclude URLs starting with `/internal`, that expression would be `!(req.url ~ "^/admin" || req.url ~ "^/internal")`.

> **HINT:** Keep in mind [De Morgan's laws](https://en.wikipedia.org/wiki/De_Morgan%27s_laws) if you're using multiple conditions and negation.

## Check for general regex formatting mistakes

Consider the following general regex issues that may have caused trouble:

- **Is case sensitivity the problem?** Varnish regex is case sensitive by default. To use a case insensitive check, you must use the `(?i)` flag.
- **Have you escaped forward slashes?** Forward slashes don't need to be escaped in Varnish regex.

Our [cheatsheet](https://www.fastly.com/documentation/reference/vcl/regex/) provides additional examples of using VCL with regular expressions.

## Related content

- [Condition reference documentation](https://www.fastly.com/documentation/reference/api/vcl-services/condition/)
