РЕДАКТИРОВАТЬ 1 Большое спасибо за отзывчивость и терпение!.
Я занимаюсь разработкой маршрутизатора SPA, поэтому все происходит в индексе. html. Он использует HTML5 History API, чтобы переписать историю, и было бы здорово создать SEO-дружественные URL-адреса.
Некоторые разделы уже включены в индекс. html, а другие загружаются динамически с помощью ajax или извлекаются (если это имеет значение)
Приложение имеет следующую структуру каталогов basi c
assets/
css/
img/
js/
modules/
partials/
vendor/
index.html
Теперь в роутере в основном есть разделы и подразделы, я переписываю разделы как подкаталог, а подразделы - как подкаталог
example.com/index.html <--- where the magic happens
Но индекс. html - это также, некрасиво, было бы предпочтительнее переписать его (не очень нужно, поскольку это происходит естественно, но приятно иметь)
example.com R=301 <permanent
Затем, когда пользователь перейдет к разделу, URL будет переписан историей api as:
example.com/customers
Но если пользователь перезагружает сайт, он получает ошибку 404
Затем, когда пользователь переходит к подразделу этого раздела, он увидит в строке URL-адреса
example.com/customers/casestudy
Но, опять же, если пользователь перезагружается, он получает ошибку 404
. Я хочу постоянно перезаписывать эти URL-адреса в индекс. html и его маршрутизатор / менеджер состояний будет восстановить (загрузить / показать) исправление t state.
Цель этого заключается в том, чтобы URL-адреса были оптимизированы для SEO и чтобы поисковые системы могли правильно индексировать каждый раздел сайта. Также, если нам нужно передать URL нашего сайта клиенту / партнеру / заинтересованному лицу / кому-либо
example.com/mydata is better than example.com/index.html/#/dataFragment25654789
Заранее спасибо
РЕДАКТИРОВАТЬ 02 Следующий .htaccess работает нормально
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
, за исключением случаев, когда пытается загрузить подраздел
example.com / customer / mydata
Затем он получает необработанное SyntaxError: Неожиданно Токен '<' совпадает с ответом @MrWhite </p>
СТАРЫЙ ВОПРОС
Я хочу навсегда переписать запрашивает любой файл или подкаталог моего index.html
, поскольку он будет отправлять правильные представления, но с сохранением структуры подкаталога, файлы не допускаются. Я не могу заставить его работать, особенно с подкаталогами - example.com/index.html
или anyother.file
---> example.com/
- example.com/mydirectory/
или example.com/mydirectory/anyfile.file
до /index.html
URL должен выглядеть example.com/mydirectory
- example.com/mydirectory/mydirectory
или example.com/mydirectory/anyfile.file
до /index.html
URL должен выглядеть example.com/mydirectory/mydirectory