На даний момент розробляю "односторінковий" сайт ... але мій варіант мабуть вже можна назвати "двосторінковим", бо головними сторінками, в залежності від контексту, може бути або /index.html, або /index.php.
На index.html спрямовуються всі запити для завантаження статичних шаблонів (*.html), а на index.php спрямовуються динамічні запити (наприклад, коли потрібно інфу витягувати з БД).
Окрім головної сторінки, всі навігаційні URI-адреси на сайті є віртуальними, а тому веб-серверу потрібно чітко прописати правила "коли на запит видавати статичну, а коли динамічну index-сторінку".
Я для себе вирішив це наступним чином: всі динамічні запити завжди повинні починатись префіксом /json/, а решту - спрямовувати на index.html
Відповідні apache-директиви у файлі .htaccess мають такий вигляд:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/json/
RewriteRule . /index.html [PT]
RewriteCond %{REQUEST_URI} ^/json/
RewriteRule . /index.php [PT]
P.S. Тему краще перейменувати, бо "кращі практики та різні бібліотеки" якось погано стикуються із "задачами"