У меня есть веб-приложение, размещенное в Amazon S3, веб-приложение создается с помощью jQuery Mobile, и я использую changePage для навигации между страницами, я не использую хэш-оператор (#), когда меняю страницу.
У меня возникают проблемы, когда пользователь копирует URL-адрес и вставляет его в новую вкладку
Например:
http://www.exampleurl.com/page1.html
загружает страницу page1.html, которая находится в amazon s3, только со структурой страницы jquery ...
Я хочу, чтобы загрузить index.html и с помощью js прочитать URL-адрес, определить страницу и загрузить правильную страницу.
С Apache я решаю эту проблему с помощью перезаписи URL ... но для Amazon S3 я не нашел ничего похожего ...
ПРИМЕЧАНИЕ. Я знаю, что если я активирую хэш-оператор (#) в своих URL-адресах, проблема будет решена, но мне нужны чистые URL-адреса без #.
Наконец, я нашел решение своей проблемы в другом вопросе:
https://stackoverflow.com/questions/16267339/s3-static-website-hosting-route-all-paths-to-index-html
Цель - использовать эту конфигурацию в правилах перенаправления:
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals >
</Condition>
<Redirect>
<HostName>yourdomainname.com</HostName>
<ReplaceKeyPrefixWith>#!/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>