Это называется
ClearUrl.
Для apache примерно так (взято откуда-то из гугла):
<Directory /var/www/example.com>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>
В файл
index.php(можно и
blablabla.php, как в
RewriteRule напишите) придет
GET параметр
q (можно и
page, на вкус и цвет, в общем), который вы будете обрабатывать.
То есть для данного примера будет следующее:
example.com/price приведет к вызову сервером уже
example.com/index.php?q=price.
Таким образом
example.com/price,
example.com/?q=price и
example.com/index.php?q=price эквивалентны для сервера, а что подавать пользователю, я думаю вы догадаетесь :)