Ну, почему же только php.
Любой "серверный" язык, поддерживающий инклюды. PHP, SSI, .NET, Ruby и т. д.
Если на сервере (бесплатные хостинги типа narod) нет поддержки ничего подходящего (или индексация содержимого не обязательна) , то можно и с помощью AJAX подгружать, но тогда содержимое подгружаемого документа не проиндексируется поисковиками и не будет показано, если у юзера выключен JavaScript.
Сам инклюд может иметь любое расширение, а вот файл, в который вставляется инклюд, должен иметь расширение, в котором будет работать используемый серверный язык. По умолчанию - PHP работает в файлах *.php, или реже используемый *.phtml, SSI - в файлах .shtm, .shtml и. т. д. , но это может быть переопределено с помощью файлов конфигурации (.htaccess в Apache и подобных) .
PHP - http://php.net/manual/ru/function.include.php
SSI - http://stepbystep .htmlbook .ru/?id=39 (пробелы перед точками убрать)