ドメインexample.com/~mypart
の一部があります。そのフォルダーにはindex.htmlがあります。 example.com/~mypart/something
にアクセスすると、「見つかりません」というエラーが表示されます。
example.com/~mypart/
の後に文字列を含むすべてのアドレスをexample.com/~mypart
(index.html)に書き換え、文字列を保持して、JavaScriptをindex.htmlで使用できるようにします。その文字列を取得します。
これは標準のfront-controllerパターンです。 mod_dirのFallbackResource
ディレクティブは、.htaccess
の/~mypart/.htaccess
ファイルで使用できます。例えば:
FallbackResource /~mypart/index.html
(/~mypart
が ApacheのユーザーごとのWebディレクトリ の場合、/index.html
を使用します。)
多くの例ではmod_rewriteを使用しますが、より複雑なURL書き換え要件がない限り、上記で十分です(推奨)。
参照:
https://httpd.Apache.org/docs/2.4/mod/mod_dir.html#fallbackresource
以下をhttaccess
ファイルに追加します。
# if folder does not exist
RewriteCond %{REQUEST_FILENAME} !-d
# if file does not exist
RewriteCond %{REQUEST_FILENAME} !-f
# redirect anything to
RewriteRule ^(.*)$ ~mypart/$1 [L]
その後、ページが読み込まれると、次のJavaScriptコードを使用して、要求されたファイルを取得できます
var requestedResource = window.location.href.replace('example.com/~mypart/','');