Latest Register Log In

+ Advanced Search

SEO URLs with mod_rewrite

SEO URLs with mod_rewrite
By
09/30/03 (Edited 03/10/14)

If you're on an Apache server, or a Windows IIS server with ISAPI Rewrite or another mod_rewrite compatiable facility, you can make your forums accessible by a simple yoursite.com/wsn/catname/ url (where catname is any forum name), topic posts accesible by yoursite.com/wsn/catname/thread-name-1.html, and so on. This has the advantage of being friendlier-looking to the user, and it can put keywords in your URL which get you a better search engine rank.

To activate this option, simply go to Admin Panel -> Settings -> SEO and select to turn on url rewriting.

Notes:

  • Only a handful of formats are supported, you can't set an arbitrary rewrite format and expect it to work. Contact support if you need a format that isn't supported.
  • When a forum name contains a special character like an apostrophe it cannot use name rewriting, since that's not a legal character for URLs. It'll fall back automatically on numeric rewriting for that forum. Example characters that will cause this are commas, periods, apostrophes and accents.
    Sub-Note 1: You can work around this problem by editing the forum to type in a special URL for it manually which will override the normal rewrite rules.
    Sub-Note 2: If you use {CATID} in your rewrite scheme ({CATREWRITEPATH}-{CATID}/{PAGE}.html) then it will be able to uniquely identify the forum so it won't have to fall back to numeric rewriting.
  • When you change the name of a forum while using the forum name URL rewriting, you may need to regenerate forums before the subforums list will update (though in most situations it should update automatically).
  • If you remove {MEMBERID} from the profile rewrite scheme, member names names must then not contain special characters and must not be purely numeric. The registration page will automatically prevent illegal username registrations once you make this change. This means it's only useful on English-language sites where people won't have accented or non-latin usernames.

Troubleshooting:

  • Subforum URLs, last thread profile urls and the like are cached, and so when you change your rewriting they don't update until you regenerate.
  • If you've purposely blanked out one of the rewrite scheme boxes on the SEO settings page, that will kill everything. You must have a rewrite scheme in each box.
  • Some odd web hosts require that you remove the index Follow Sym Links line from the htaccess file. If this is the case for you, go to Admin -> Settings -> Tweaks Editor and turn on the nofollowsymlinks tweak.
  • The "Use top level forum as subdomain?" option requires DNS wildcards, to have all subdomains redirected to your main (www) domain. You will need to talk to your web host to get DNS wildcards set up, they will not be set up by default.

Some Simple Example Supported Rewrite Formats

For forums:

{CATREWRITEPATH}/{PAGE}.html
{CATREWRITEPATH}-{PAGE}.html


For details:
{LINKREWRITEPATH}/{LINKTITLE}-{LINKID}.html
details/{LINKTITLE}-{LINKID}.html


Recovery

If you turn on rewriting but it doesn't work for whatever reason, you'll see an internal server error on your site. Delete your .htaccess file, then go to Admin -> Settings -> SEO to fix the issue if the issue is a bad format (or turn rewriting off if you can't fix it).





Description Details on how anyone running on an Apache web server can get keywords into URLs for SEO purposes.
Rating
Views 8340 views. Averaging 2 views per day.