Amazon S3でホストされているwebappを持っています。webappはjQuery Mobileで構築されており、changePage loを使用してページ間を移動します。ページを変更するときにハッシュ演算子(#)を使用していません。
ユーザーがURLをコピーして新しいタブに貼り付けると問題が発生する
例えば:
http://www.exampleurl.com/page1.html
amazon s3にあるページpage1.htmlを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>