I am currently helping redesign a poorly built website that suffered with a case of PHP spaghetti.
In an attempt to structure the site I have the following tree (apologies for the length):
http://www.domain.co.uk - Root Directory
- /
- /our-service
- /our-service/pricing
- /our-service/mobile
- /search
- /search/results
- /search/results/<page_num>
- /resources/announcements
- /resources/competitions
- /resources/email-archive/<email_num>
- /resources/sitemap
- /contact
- /contact/advertise
- /contact/support
- /legal/terms
- /legal/privacy
- /<username>
- /<username>/reviews
- /<username>/reviews/<review_id>
http://my.domain.co.uk - User Account Area
- /instructor
- /instructor/account
- /instructor/account/activate/<hash>
- /instructor/account/password
- /instructor/account/email
- /instructor/account/contact
- /instructor/account/status
- /instructor/account/close
- /instructor/billing
- /instructor/reviews
- /instructor/reviews/disputes
- /instructor/reviews/ratings
- /student/account
- /student/account/activate/<hash>
- /student/account/password
- /student/account/email
- /student/account/contact
- /student/account/status
- /student/review
- /student/review/past
- /student/theory
- /student/theory/new
- /student/theory/results
- /logout
1) My first real question is if anyone is able to spot anything that may cause an issue further down the line using this structure? Obviously /<usernames> will be checked against a reserved list to prevent any issues in that sense.
2) In terms of error handling I have seen several methods used on websites, one being url based. For example, an error with a username/password could be displayed using /login?error=mismatch. Is this a better approach than doing things invisibly behind the scenes or is there no real advantage?
3) Finally, the site has two parts to its registration (student / instructor) with the student having a single page to complete, and the instructor a multi-page form. I can't figure what the best method would be to implement it into this structure.
contact? – Peter Taylor Aug 25 '11 at 12:47