短い答えは:.htaccess!を使用することは一切できません!
長い答え:それはクライアント側のみを使用しているよう
#
文字の後の部分は、ウェブブラウザからサーバへ送信されることはありません。
「書き換え」のこのタイプは、クライアント側のJavaScriptを使用して行う必要があります。
hashchangeイベントはあなたのための出発点であるかもしれない:
window.addEventListener('hashchange', function() {
var hash = location.hash.substr(1);
window.location.href = "/" + hash + ".html";
});
あなたはまた、(単一ページのアプリケーション)をSPAを調べる必要があります。このようなソリューションを構築するのに役立つフレームワークはたくさんあります。また、popstateイベントやそれを取り巻くメカニズムのような、ハッシュに依存しない最新のテクニックがあります。
あなたが始めるのに役立つ可能性の枠組みのカップル:
更新
現在の.htaccessセットアップを見てみると、まるであなたがそうしたいかのように見えますあなたの質問テキストが暗示しているものとは逆のもの - 誰かがvison.html
を要求したときに、about.php#vision
- とにリダイレクトしたい場合は、の逆ではありません。それが本当であれば、はい、あなたは、符号化されているから#
文字を防ぐためにもNE
フラグ(NO ESCAPE)をR
フラグ(REDIRECT)を追加することで.htaccessファイルを使用して、それを行うことができます
:
RewriteRule ^vison.html$ about.php#vision [NE,R,L]
これはクエリ文字列ではありません。これはクライアントサイドのものです。これは動作しません。クエリ文字列やその他のものだけを書き換えることができます。 –