Ужасный способ - htaccess, как вы и написали (гуглить ModRewrite)
Нормальный способ - роутинг, гуглить Php Router, Front Controller
Хороший способ - использовать фреймворки или готовые компоненты специально для роутинга (гуглить, например, Symphony Router)
А на вопросы здесь будут отвечать по существу, а не на вот такие.
Если вы не смогли 2 вопроса из 40 предложений сформулировать в пристойное: "Подскажите, пожалуйста, с какой системы роутинга на PHP лучше начать" или вообще "Что такое роутинг, зачем он нужен, где о нем почитать?", то лучше читать (!) для начала вопросы из серии "С чего начать изучение программирования под веб?"
Вот еще полезные ссылки:
getjump.me/ru-php-the-right-way