RewriteEngine on

# ERRORS
ErrorDocument 400 /index.php?page=400
ErrorDocument 401 /index.php?page=401
ErrorDocument 403 /index.php?page=403
ErrorDocument 404 /index.php?page=404
ErrorDocument 500 /index.php?page=500

# FORM
RewriteRule ^submit/(.+)$ index.php?submit=$1 [NC,L,QSA]

# PAGE
RewriteRule ^(400|401|403|404|500|login|register|contact|my-account)$ index.php?page=$1 [NC,L,QSA]

# SECTION
RewriteRule ^(fresh|active)$ index.php?section=$1 [NC,L,QSA]

# PAGE -> ID
RewriteRule ^(user|listing|discussion)/([\d]+)$ index.php?page=$1&id=$2 [NC,L,QSA]

# PAGE -> SECTION
RewriteRule ^(create|my-account)/([-\w]+)$ index.php?page=$1&section=$2 [NC,L,QSA]

# PAGE -> SECTION -> ID
RewriteRule ^(create)/([-\w]+)/([\d]+)$ index.php?page=$1&section=$2&id=$3 [NC,L,QSA]

# PAGE -> ID -> SECTION
RewriteRule ^(user|listing|discussion)/([\d]+)/([-\w]+)$ index.php?page=$1&id=$2&section=$3 [NC,L,QSA]

# PAGE -> SECTION -> SUBSECTION
RewriteRule ^(create|my-account)/([-\w]+)/([-\w]+)$ index.php?page=$1&section=$2&subsection=$3 [NC,L,QSA]

# PAGE -> ID -> SECTION -> SUBSECTION
RewriteRule ^(user|listing|discussion)/([\d]+)/([-\w]+)/([-\w]+)$ index.php?page=$1&id=$2&section=$3&subsection=$4 [NC,L,QSA]

# ADMIN -> FORM
RewriteRule ^(admin)/submit/(.+)$ index.php?area=$1&submit=$2 [NC,L,QSA]

# ADMIN
RewriteRule ^(admin)/$ index.php?area=$1 [NC,L,QSA]

# ADMIN -> PAGE
RewriteRule ^(admin)/(login|index|users|content|settings)$ index.php?area=$1&page=$2 [NC,L,QSA]

# ADMIN -> PAGE -> ID
RewriteRule ^(admin)/(user|listing|discussion)/([\d]+)$ index.php?area=$1&page=$2&id=$3 [NC,L,QSA]

# ADMIN -> PAGE -> SECTION
RewriteRule ^(admin)/(index|users|content|create)/([-\w]+)$ index.php?area=$1&page=$2&section=$3 [NC,L,QSA]

# ADMIN -> PAGE -> SECTION -> SUBSECTION
RewriteRule ^(admin)/(content)/([-\w]+)/([-\w]+)$ index.php?area=$1&page=$2&section=$3&subsection=$4 [NC,L,QSA]

# ADMIN -> PAGE -> ID -> SECTION
RewriteRule ^(admin)/(user|listing|discussion)/([\d]+)/([-\w]+)$ index.php?area=$1&page=$2&id=$3&section=$4 [NC,L,QSA]