Skip to content
404Updated

XenForo Friendly URLs Return 404: Correct Web Server Rewrites After a Move

Fix XenForo thread URLs that return 404 after enabling friendly URLs or moving the forum to another subdirectory.

Quick Answer

When the XenForo home page works but thread and forum links return 404 after friendly URLs are enabled, inspect the web server rewrite rules for the actual installation path. Apache .htaccess and Nginx do not use the same mechanism.

Fix XenForo thread URLs that return 404 after enabling friendly URLs or moving the forum to another subdirectory.

Symptoms: what this problem looks like

  • The forum index loads but /threads/ and /forums/ routes return 404.
  • The error starts after enabling friendly URLs or moving the forum from / to /forum/.
  • Legacy index.php routes work while cleaner routes fail.

Why it happens

  • Apache rewrite rules are missing or AllowOverride does not apply.
  • An Nginx location block does not route unresolved paths to XenForo’s entry point.
  • Rewrite rules still target the old /xf/ or /forum/ install directory.
  • A reverse proxy or WordPress installation owns an overlapping URL prefix.

Before making changes

Capture the original error and its exact time. Work on an authorized system, keep sensitive details out of public logs, and preserve a restorable configuration or data backup whenever a change could affect production.

  • Record whether Apache, Nginx or a combined proxy stack serves the site.
  • Find the real XenForo public root and installation subdirectory.
  • Compare one failing friendly URL with the XenForo generated URL and existing redirects.


Step-by-Step Troubleshooting

Choose Beginner for low-risk recovery checks or Advanced for environment-specific commands and evidence-based changes. Always confirm the underlying cause.

Confirm the site still has an index route

Record an affected forum thread URL and whether the XenForo homepage loads. Keep the friendly URL setting unchanged while collecting evidence.

Identify the web server

Apache .htaccess edits will not fix routing handled exclusively by Nginx. Find the effective virtual host and any proxy routing layers.

Check path-specific rewrite configuration

Verify whether the forum is installed at the document root or in /forum/. Ensure the front controller path matches that location.

Apply and test a scoped rewrite rule

Use XenForo’s official web server instructions, validate the configuration, then test a forum, thread, static asset and admin route.

Common mistakes to avoid

  • Do not assume copying .htaccess will fix Nginx.
  • Do not remove a WordPress front controller without mapping both applications.
  • Do not issue permanent redirects until old and new XenForo routes have been tested.

How to verify the fix

Retest the original failing path or operation, not only a generic homepage or status code. Compare the result against your pre-change evidence and observe the system long enough to rule out a temporary recovery.

  • Forum index, thread, member and admin URLs all resolve correctly.
  • Static assets load and protected directories remain unavailable to anonymous users.
  • Old bookmarked routes redirect safely if their URLs changed.

Solution Checklist

0/7 completed

If the error continues: rollback and escalation

Restore the previous server routing configuration and temporarily disable friendly URLs if supported until a validated path-specific rule is deployed.

If you need vendor or hosting support, share the software version, exact time, affected route, sanitized error and the single change already attempted. Never include passwords, private tokens, raw session cookies or personal data.

Prevent this issue from returning

  • Document actual install paths in infrastructure configuration.
  • Smoke-test all critical XenForo routes after moves and web server changes.

Further reading

Consult the official or primary technical documentation for your exact software version before changing production settings.

This troubleshooting guide presents possible causes and safe diagnostic steps. Product versions, hosting restrictions and deployment procedures vary; a recognized symptom is not a confirmed root cause.

Did this solution fix your problem?

Optional feedback helps us improve this guide. Never send private data.

Can't find your answer?

Tell our editors which problem needs a guide. Do not include passwords, API keys, email addresses, private URLs, or full error logs.

Analyze Error

Paste an error message to identify its likely category. Analysis takes place in your browser; only a short error category will be used if you choose to search.

Do not paste passwords, tokens, private URLs or full logs.