たとえば、www.mysite.comにアクセスしたときに.htmlファイルを非表示にすると、www.mysite.com/index.htmlにリダイレクトされますが、www.mysiteのままになるように/hindex.htmlは非表示になります。 comですが、実際はwww.mysite.com/index.htmlです。 私は説明する方法を本当に知っていませんが、あなたが理解できれば、助けてください、ありがとう。Apacheでルーティングを設定するにはどうすればよいですか?
答えて
これを試してください。ここではディレクトリインデックスを設定していますので、すべての呼び出しでindex.htmlを記述する必要はありません。拡張せずにすべてのhtmlを書き直す。
DirectoryIndex index.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([\w-]+)$ $1.html [L]
.htaccess
ファイルは、メモ帳やテキストメイトなどのテキストエディタで作成するシンプルなASCIIファイルです。これは、ディレクトリ単位で構成を変更する方法を提供します。
RewriteRule ^([^\.]+)$ $1.html [NC,L]
ソース - How to remove .php, .html, .htm extensions with .htaccess
助けてくれてありがとう: – meme
あなたの.htaccessファイル内のコードの下に記述してください。
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]
上記のコードを使用してURLから.htmlが削除されます。 ご連絡先のページのURLがwww.mysite.com/contact.html
であるとします。上記のコードを使用すると、代わりにwww.mysite.com/contact
となります。
ありがとう、たくさんの人に本当に感謝します:) – meme
私はあなたを助けることができて本当にうれしいです。 (y) –
この方法ではApacheは使用しません。コードを再構築するだけです。
また、ルートに別のディレクトリを作成してみることもできます。 連絡先ページのように、プロジェクトのルートディレクトリにフォルダ名の連絡先があります。そのフォルダの中にcontact.htmlをindex.htmlとして配置します。 この再構成は、ルートごとにコードを分割するのに役立ちます。
連絡先ページへのリンクは、www.mysite.com/contact(ブラウザはwww.mysite.com/contact/index.html)になります。
インデックスページでクライアント側のURLテキストを編集するよう依頼している場合は、あなたはthis answerからのコードをHTMLファイルにJavaScriptでパス名を置き換えることができます:
history.replaceState('data to be passed', 'Title of the page', 'theNameWithoutTheHTML');
名は、各ページのそれぞれの.jsのために変更しなければならない、またはあなたがより一般的なスクリプトを使用して、それを再利用することができます
history.replaceState('data to be passed', 'Title of the page', location.pathname.slice(0, -5)); //This will replace it with the same path, removing the ".html" at the end (take care if the extension is different sized)
この場合、.htmlファイルにリダイレクトしているので、ユーザーがページを再読み込みしても問題ありません(.htmlなしでページを読み込もうとします)。
- 1. トークンを使用するURLのZuulルーティングを設定するにはどうすればよいですか?
- 2. Apacheの設定でファイル名にワイルドカードエイリアスを使用するにはどうすればよいですか?
- 3. この特定のURL設定でSVNを提供するようにApacheを設定するにはどうすればよいですか?
- 4. アクションメソッドのカスタム属性のASP.NET MVCルーティングを設定するにはどうすればよいですか?
- 5. angle 2.0/sparkシングルページアプリケーションのクライアント側ルーティングを正しく設定するにはどうすればよいですか?
- 6. Apache HTTPクライアントを使用する場合、EnabledCipherSuitesを設定するにはどうすればよいですか?
- 7. Business Objects BI 4.1でApache用のリバースプロキシを設定するにはどうすればよいですか?
- 8. Apache 2.XでDelphiのASAPI DLLを設定するにはどうすればよいですか?
- 9. ラックベースのアプリケーションでVagrant + Apache + Passengerを設定するにはどうすればよいですか?
- 10. HMVCでルーティングを解決するにはどうすればよいですか?
- 11. WebFormsでCMSのルーティングを行うにはどうすればよいですか?
- 12. Libharuでトランスフォーメーションマトリックスを設定するにはどうすればよいですか?
- 13. UIImageViewでUIGestureRecognizerを設定するにはどうすればよいですか?
- 14. ダイアログでButto.onClickListenerを設定するにはどうすればよいですか?
- 15. Glassfishでログレベルを設定するにはどうすればよいですか?
- 16. Razor:ValidationSummaryでクラスを設定するにはどうすればよいですか?
- 17. Dockerfileで$ PS1を設定するにはどうすればよいですか?
- 18. STOMPでActiveMQを設定するにはどうすればよいですか?
- 19. MEFでPrivateBinPathを設定するにはどうすればよいですか?
- 20. HttpWebRequest.GetRequestStreamでタイムアウトを設定するにはどうすればよいですか?
- 21. PhpStormでデータベースを設定するにはどうすればよいですか?
- 22. SimpleJdbcTemplateでsetQueryTimeoutを設定するにはどうすればよいですか?
- 23. スクラップスプラッシュでスプラッシュタイムアウトを設定するにはどうすればよいですか?
- 24. AndroidでReceiverを設定するにはどうすればよいですか?
- 25. PieChartでフォントサイズを設定するにはどうすればよいですか?
- 26. sbtでマルチステージテストパイプラインを設定するにはどうすればよいですか?
- 27. ミドルウェアでcurrent_userを設定するにはどうすればよいですか?
- 28. Androidでキープアライブタイムアウトを設定するにはどうすればよいですか?
- 29. マスターページでビューステートを設定するにはどうすればよいですか?
- 30. AS3でレンダーエリアを設定するにはどうすればよいですか?
すべてのURLから.htmlを削除します。連絡先のページはwww.mysite.com/contact.htmlの代わりにwww.mysite.com/contactにする必要がありますか? –
これは実際にはjavascriptの問題ではありません。 ApacheのURL書き換えに注目してください。 –
@RahulPatelはいthats正しい、どうすればいい? – meme