mod_rewrite RewriteRule Flags
C | Chained with next rule |
CO=cookie | Set specified cookie |
E=var:value | Set environmental variable “var” to “value” |
F | Forbidden (403 header) |
G | Gone - no longer exists |
H=handler | Set handler |
L | Last - stop processing rules |
N | Next - continue processing |
NC | Case insensitive |
NE | Do not escape output |
NS | Ignore if subrequest |
P | Proxy |
PT | Pass through |
R[=code] | Redirect to new URL, with optional code (see below) |
QSA | Append query string |
S=x | Skip next x rules |
T=mime-type | Set mime type |
mod_rewrite RewriteCond Flags
NC | Case insensitive |
OR | Combine with next rule using 'OR' instead of the default of 'AND' |
Redirection Header Codes
301 | Moved permanently |
302 | Moved temporarily (default) |
mod_rewrite Directives
RewriteEngine |
RewriteOptions |
RewriteLog |
RewriteLogLevel |
RewriteLock |
RewriteMap |
RewriteBase |
RewriteCond |
RewriteRule |
| |
Regular Expressions Syntax
^ | Start of string |
$ | End of string |
. | Any single character |
(a|b) | a or b |
(...) | Group section |
[abc] | In range (a, b or c) |
[^abc] | Not in range |
\s | White space |
a? | Zero or one of a |
a* | Zero or more of a |
a*? | Zero or more, ungreedy |
a+ | One or more of a |
a+? | One or more, ungreedy |
a{3} | Exactly 3 of a |
a{3,} | 3 or more of a |
a{,6} | Up to 6 of a |
a{3,6} | 3 to 6 of a |
a{3,6}? | 3 to 6 of a, ungreedy |
\ | Escape character |
[:punct:] | Any punctuation symbol |
[:space:] | Any space character |
[:blank:] | Space or tab |
mod_rewrite Server Variables: HTTP Headers
%{HTTP_USER_AGENT} |
%{HTTP_REFERER} |
%{HTTP_COOKIE} |
%{HTTP_FORWARDED} |
%{HTTP_HOST} |
%{HTTP_PROXY_CONNECTION} |
%{HTTP_ACCEPT} |
mod_rewrite Server Variables: Server Internals
%{DOCUMENT_ROOT} |
%{SERVER_ADMIN} |
%{SERVER_NAME} |
%{SERVER_ADDR} |
%{SERVER_PORT} |
%{SERVER_PROTOCOL} |
%{SERVER_SOFTWARE} |
|
|
mod_rewrite Sample Rule: Site Moved
Rewrites domain.com to domain2.com
mod_rewrite Sample Rule: Temporary Page Move
# Page has moved temporarily |
RewriteRule ^page.html$ new_page.html [R,NC,L] |
Rewrites domain.com/page.html to domain.com/new_page.html
mod_rewrite Sample Rule: Nice URLs
# Nice URLs (no query string) |
RewriteRule ^([A-Za-z0-9-]+)/?$ categories.php?name=$1 [L] |
Rewrites domain.com/category-name-1/ to domain.com/categories.php?name=category-name-1
mod_rewrite Server Variables: Special
%{API_VERSION} |
%{THE_REQUEST} |
%{REQUEST_URI} |
%{REQUEST_FILENAME} |
%{IS_SUBREQ} |
%{HTTPS} |
mod_rewrite Server Variables: Request
%{REMOTE_ADDR} |
%{REMOTE_HOST} |
%{REMOTE_PORT} |
%{REMOTE_USER} |
%{REMOTE_IDENT} |
%{REQUEST_METHOD} |
%{SCRIPT_FILENAME} |
%{PATH_INFO} |
%{QUERY_STRING} |
%{AUTH_TYPE} |
mod_rewrite Server Variables: Time
|
No comments:
Post a Comment