アドレスバーでページ名と拡張子を非表示にするにはどうすればよいですか?
たとえば、「ホーム」リンクをクリックすると、次のようになります。
www.mysite.com/index.html
ただし、代わりに、次のように、ページ名と拡張子を付けずにアドレスバーに表示したいと思います。
www.mysite.com/
アドレスバーでページ名と拡張子を非表示にするにはどうすればよいですか?
たとえば、「ホーム」リンクをクリックすると、次のようになります。
www.mysite.com/index.html
ただし、代わりに、次のように、ページ名と拡張子を付けずにアドレスバーに表示したいと思います。
www.mysite.com/
これはうまくいくはずです。
これを.htaccessというファイルに入れて、ルートディレクトリに置きます。ただし、ローカルではなく、ApacheWebサーバーでのみ機能します。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule .* $0.html
「ホーム」リンクをどのように書いていますか?
そうは言っても、アンカータグ/index.html
にその部分を含めないでください。
www.mysite.com
また、 Webページ(フォトギャラリー、私たちについてなど)に関係なく、サイト内のすべてのローカルリンクのメインサイトのURLを表示したい場合は、ビューポートのスペース全体であるiframeでWebサイト全体をラップします。アドレスバーが変更されないようにします。
上記のjsFiddleサイトは、説明されているこの単純なiframeメソッドを示しています。iframeはすべてのナビゲーション操作を受信しているため、アドレスバーは常に同じ場所にあることに注意してください。
編集ページにアクセスする/show/
には、アドレスバーに表示されているようにそのjsFiddleを表示します。
.htaccess
次の内容のファイルをWebサイトのルートディレクトリに作成します。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
上記のファイルを追加すると、次のURLにアクセスできます。
www.mysite.com/index.html
このURLを使用して:
www.example.com/contactus
あなたが試すことができます:
window.location.href = 'WHAT LOCATION YOU WANT';
ただし、これによりページが再読み込みされます。サーバー側で解決策を見つける必要があります。