I don't want this ugly index.php?id=123 type of URLs anymore. How can I change this to have something like directory structure?
For doing this you can use the extension "realurl". In cooperation with the Apache rewrite module It translates nice structurized URL paths into a format that TYPO3 can understand.
To tell mod_rewrite to pass everything not under typo3 which is not a file, dir or symlink to index.php for rewriting put this in your .htaccess. (NOTE: this is not necessary with current version of the provided .htaccess ... you will just need to enable (rename)) it..
Put this in your root template setup
NOTE: since Typo3 3.8.1 config.baseURL has to be the URL to your site and can not be 1 ... see http://wiki.typo3.org/index.php/TYPO3_3.8.1 for details. The documentation both in the TSRef and the RealURL manual is outdated on this matter.
Insert this into your localconf.php to get off the ground quickly
For further detail of this extension please see the realurl manual available here: http://typo3.org/documentation/document-library/extension-manuals/realurl/current/view/toc/0/
If you found a mistake or if you have a good tip or suggestion, please contact me at thomas(at)typo3-unleashed.net. I will check it and correct the entry or insert the new one.
Thanks in advance for your help.