Root .htaccess context
The generated RewriteRule patterns omit the leading slash because Apache strips it in per-directory context.
Private by design: generation and testing run locally. The tester does not request your website, so it cannot verify server modules, existing rules, redirect chains, or the final HTTP response.
| Status | Meaning | Method behavior | Typical use |
|---|---|---|---|
| 301 Moved Permanently | Permanent move | Older clients may change a non-GET request to GET | Stable page or site migrations after testing |
| 302 Found | Temporary redirect | Older clients may change a non-GET request to GET | Short-lived routing and pre-production testing |
| 303 See Other | Fetch another resource | Follow-up request uses GET (or HEAD) | Post/Redirect/Get workflows |
| 307 Temporary Redirect | Temporary redirect | Preserves the request method and body | Temporary API or form endpoint moves |
| 308 Permanent Redirect | Permanent move | Preserves the request method and body | Permanent API or method-sensitive moves |
QSA to append it to a destination query or QSD to discard it..htaccess, before CMS or front-controller rules. Do not overwrite unrelated security, caching, or routing directives.curl -I to confirm the status and Location. Check several redirects and watch for loops or unexpected chains.FileInfo overrides and enable mod_rewrite. Keep a recoverable backup and use your hosting provider’s staging or validation tools when available.The generated RewriteRule patterns omit the leading slash because Apache strips it in per-directory context.
Every generated rule uses L, so rule order matters. A broad prefix above a specific path can make the later rule unreachable.
The rule pattern matches the URL path, not its query string. Query behavior is controlled with the substitution and QSA or QSD.
Apache 2.4 uses PCRE, while this browser uses JavaScript regular expressions. Basic anchors, groups, classes, and common quantifiers align; engine-specific features may not.
Primary references: Apache mod_rewrite directives, Apache mod_rewrite introduction, and Apache mod_alias redirects.
A 301 says the move is permanent, while a 302 says it is temporary. Browsers and search engines may cache permanent redirects more aggressively, so test with a temporary status before making a migration permanent.
307 and 308 explicitly preserve the request method and body: 307 is temporary and 308 is permanent. Redirecting POST or other non-GET requests still requires application-specific testing.
In per-directory .htaccess context, Apache removes the directory prefix, including the leading slash, before matching a RewriteRule pattern. This generator targets a root .htaccess file.
By default, Apache carries the incoming query string forward when the substitution has no query string. A query in the substitution replaces it. QSA appends the incoming query, and QSD discards it.
No. It models the generated rules and common root .htaccess behavior, but JavaScript and Apache PCRE regular expressions differ. Modules, server configuration, filesystem mapping, encoded paths, and rules elsewhere can change the real result.
They are designed for the site root .htaccess and generally belong before front-controller rules. The server must allow FileInfo overrides and have mod_rewrite enabled.
Yes. A destination that is also matched by the same or a later redirect can loop or chain. This tool flags obvious self-redirects, but you should test every representative URL on the deployed server.