Hostwinds Tutorials
Search results for:
Table of Contents
Tags: htaccess
RegEx, short for regular expression, is typically defined as a specific string of text used to describe a search pattern. Essentially regular expressions can be thought of as really powerful wildcards. Whether you know it or not, regular expressions or RegExes are used anytime you perform a search on the internet through a search engine such as Google or use the find and replace function in any text editor. The focus of this article is to review the specific RegEx character definitions when working with .htaccess.
The following table showcases the different regex characters available to you when dealing with a .htaccess file.
Regex Character**Explanation*#Forces the server to ignore the text following the # on the same line. Typically used for comments[F]Indicates Forbidden, with this, the server should return a 403 forbidden error to the client
[L]The Last rule forces the server to stop processing rules in the .htaccess file
[N]Indicates Next and forces Apache to redo the rewrite process, except using the currently rewritten URL instead of the initial URL
[G]Gone tells the server to deliver the gone status message, which is used to mark pages that no longer exist on the site.
[R]This forces Apache to initialize a redirect. This can be a permanent redirect (page has moved, 301) or a temporary redirect (302).
[P]Indicates Proxy, which tells the server to use mod_proxy to handle requests[C]Tells the server to chain a rule with the next rule. If the rule matches, for example, then the chained rules will run as well. If not, then they will not run.
[QSA]Tells the server to use the query string at the end of an expression[NC]No Case instructs the server to treat any argument as case insensitive[NS]The No Subrequest forces the server to skip if it is an internal sub request[PT]Pass Through has mod_rewrite send a formatted URL back to Apache[NE]No Escape forces the server to parse through all output ignoring escaping characters, meaning spaces in the URL will not be replaced with %20 for example
[OR]Specifies a logical '_OR_' statement that evaluates two expressions[S=x]Forces the server to skip the "x" number of rules based on if a match is found, not the same as the Chain flag [C]
[a-z]Denotes a range of characters between the two characters separated by a dash[^]Defines not within a character class or the Start of a string of characters
[]+Defines that any combination characters defined within the brackets are a match there can be multiple matches[]Defines that any characters defined within the brackets are a match[T=MIME-type]Defines the mime type, forces the target file to be that mime type
[E=variableName:newValue]Forces the server to set the environmental variable "_variableName_" to the value "_newValue_" an {n}Defines the specific number of the preceding character to be matched? Defines the preceding character as being optional$Signals the end of a regular expression()Can be used to group characters together^Signals the beginning of a regular expression. Specifies a single arbitrary character–Signals not to act! Defines negation+Will match at least one preceding character|Logical '_OR_' operator\Wildcard that will match any occurrence of the preceding character. Signals an escaped literal period Used to escape special characters-dAnalyzes if a string exists within a directory-fDetermines if a string is a preexisting file-sTests for a non zero value
If you should have any questions or would like assistance, please contact us through Live Chat or by submitting a ticket with our Technical Support team.
Written by Michael Brower / June 22, 2017