⚙️

.htaccess Generator

Generate Apache .htaccess rules.

Input
Generated .htaccess

📖 What is .htaccess Generator?

The .htaccess Generator creates Apache configuration rules for common tasks — URL redirects (301/302), rewrite rules, security headers, caching directives, IP blocking and custom error pages. Select what you need and get ready-to-paste .htaccess code. Use it when setting up redirects, hardening security, or configuring caching on Apache servers. Everything runs in your browser.

💡 Example

Input
Redirect: /old-page → /new-page (301) Force HTTPS Add security headers
Output
RewriteRule ^old-page$ /new-page [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] Header set X-Frame-Options "DENY"

🛠️ Common Use Cases

  • Setting up 301 redirects for migrated URLs
  • Forcing HTTPS across all pages
  • Adding security headers (X-Frame-Options, CSP, HSTS)
  • Configuring browser caching for static assets
  • Blocking IP addresses or user agents

📝 Common .htaccess Directives

  • RewriteRule — URL rewriting and redirects
  • RewriteCond — conditions for rewrite rules
  • Header set — HTTP response headers
  • ErrorDocument — custom error pages
  • ExpiresByType — browser caching rules
  • Deny from / Allow from — IP access control

⚠️ Common Mistakes

  • Missing [L] flag — without the Last flag, rules continue processing and may cause loops
  • Redirect loops — redirecting / to / or not excluding the target URL from the rule
  • Testing in production — always test .htaccess changes on staging first. A syntax error returns 500 errors.

❓ Frequently Asked Questions

Does .htaccess work with Nginx?
No — .htaccess is Apache-specific. Nginx uses its own config format in nginx.conf. Use the Nginx Config Generator for Nginx servers.
Will .htaccess changes take effect immediately?
Yes — .htaccess changes are read on every request. No server restart is needed, unlike changes to httpd.conf.
How do I force HTTPS?
Use RewriteCond %{HTTPS} off followed by RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L].
Is my data private?
Yes — all processing runs entirely in your browser. Your data is never sent to any server.
Is this tool free?
Completely free — no login, no usage limits, works offline once loaded.
Yes — completely free, no login required, no usage limits.
Is my data private?
Yes — all processing runs in your browser. Your data is never sent to any server.
Does it work offline?
Yes — once the page is loaded, the tool works without an internet connection.
🔒
Your data stays private. All processing happens entirely in your browser using JavaScript. Nothing is ever sent to our servers. You can even use this tool offline after the page loads.