Можно переписать на
Уровень сервера в файле .htaccess или в файле httpd.conf или vhosts.conf. Обычно это быстрее, чем следующий уровень перезаписи, который выполняется на уровне приложения.
Уровень приложения (в данном случае с PHP). Вы можете написать собственные перенаправления, которые анализируют URL и каким-то образом перенаправляют на основе этого. Современные веб-фреймворки, такие как Zend Framework (ZF), используют маршруты для управления перезаписью URL. Ниже приведен пример статического маршрута с ZF
$ route = new Zend_Controller_Router_Route_Static ('последние / новости / эта / неделя',
массив ('controller' => 'news'));
Что перенаправит любой запрос из http://somedomain.com/lastest/news/this/week в контроллер новостей.
Примером динамического маршрута будет
$ route = new Zend_Controller_Router_Route ('galleries /: id', массив ('controller' => 'gallery'));
Где переменная $ id будет доступна для этого контроллера (и в нашем примере выше будет 575)
Это очень полезные инструменты, которые позволяют вам разрабатывать приложения и ретроспективно изменять URL-адреса на все, что вы хотите.