Извините за плохо сформулированный вопрос.
PHP с apache использует index.php/index.html для URL-адресов каталогов, таких как: localhost = localhost/index.php или localhost/place = localhost/place/index.php
Если я начну с: localhost/place и использую javascript history.pushstate для обновления URL-адреса с длинным адресом, например: localhost/place/subplace, то, если я введу этот URL-адрес в браузере, я перейду на localhost/place/subplace /index.php, когда я действительно хотел, чтобы localhost/place/index.php позволял этому URL-адресу быть единственной точкой входа.
Я использую простой javascript (window.location.pathname или anchorNode.pathname), чтобы получить URL-адрес для использования с ajax. Это используется простым маршрутизатором, подобным backbone.js, для обновления страницы. Маршрутизация javascript работает и работает назад/вперед в браузере. Если бы я только мог заставить его работать с единой точкой входа для URL-адресов, введенных в адресную строку.
Подводить итоги:
Мне нужна единая точка входа для моего php-приложения, чтобы получать все подкаталоги.
В единственной точке входа я хочу запустить javascript, чтобы получить путь и использовать его для маршрутизации страницы с помощью ajax.
Я использую history.pushState для обновления URL-адреса, но это мешает единой точке входа для приложения, когда каталоги длиннее основного каталога. В основном я получаю страницу 404.
Прямо сейчас я не слишком беспокоюсь о том, чтобы сделать его обратно совместимым с браузерами, у которых нет history.pushState. Я просто хочу, чтобы это работало.
В качестве дополнения я бы предпочел работать с обычными путями в javascript, а не со строкой запроса. Я бы предпочел, чтобы страница загружалась с адресной строкой или использовалась history.pushState. Я не знаю, можно ли это решить с помощью перезаписи apache или что-то в этом роде.
Похожие вопросы:
Как справиться с обновлением страницы с помощью JS History API pushState