2016-11-29 10 views
-1

まず、ごめんなさい(おそらく)質問には申し訳ありません。私は答えを検索しようとしましたが、私は自分の問題に必要なものすべてを見つけていません。ルートコントローラを使用せずにページURLを変更する

だから... ...私は、ブートストラップウェブサイトを持っていると私はこのように表示されるようにページのURLを変更しようとしています。たとえば

:www.site.com/AboutUs.html - www.siteとして表示されるようにそれは次のよう.COM /約-たち

私はこのためにpushStateの方法を使用しています:

var stateObj = { AboutUs: "about-us" }; 
history.pushState(stateObj, "About Us", "about-us"); 

だから私はそこに必要なURLアドレス(www.site.com/about-us)を取得します。..ここまでは順調ですね。しかし、ページの更新時に、「要求されたURL/about-usがこのサーバー上に見つかりませんでした」というエラーが表示されます。 。 私は戻ってブラウザボタンをヒットした場合、それは再びwww.site.com/AboutUs.htmlに行く(そしてホームページに行くことになっている)

私の質問は:

私は何をしないのです私はコントローラーを作り、どうやったらいいの?

私はC#を使用していません。私はおそらくPHPで助けをすることができます。 JavaScript/jQueryを歓迎します。

ありがとうございます。

幸せな日!

+0

URLを変更するためにpushStateを使用しても、MVCを使用する利点はありません。あなたが始めるのに役立つ多くの素晴らしいチュートリアルがあります。または、より良いことに、Laravel、Symfony、CakePHPなどのように既に存在するフレームワークを使用してください。 – WillardSolutions

答えて

0

pushStateのポイントは、と言うことができます。私はJavaScriptでページを変更しました。新しい状態は、このURLのサーバーに尋ねたばかりの場合です。

この問題にはJavaScriptを使用しないでください。特定のURLにページを表示させたいだけです。

必要なURLに必要なコンテンツを提供するようにサーバーを構成する必要があります。

私は何が不足していますか、私はコントローラーを作りたいと思いますか?

URL /about-usを処理するには、サーバー上に何かが必要です。

「コントローラ」は、サーバー上でMVCアーキテクチャを使用していた場合にはおそらく使用するものですが、あなたのようには聞こえません。

もっと可能性の高いあなたはmod_writeようAlias、ツールを使用したいであろう、あるいは単にabout-usと呼ばれるディレクトリに静的なファイルを移動し、それindex.htmlの名前を変更します。

+0

ご挨拶と回答の皆さん。 私はasp .net mvcを使用していませんので、そうです。だから私はそれがなくてもどうやってやっているのか尋ねているのです。 もう1つの質問 - ファイルを新しいディレクトリに移動すると、SEOに影響しますか? これは、すべての単一のファイルに対して新しいhtaccessファイルを作成する必要があることを意味しますか? ご協力いただきありがとうございます。 :-) – Nikolay

+0

"asp .net mvcを使用していません" - MVCは、そのパターンを使用するフレームワークであるASP.NET MVCに排他的ではない一般的なデザインパターンです。 – Quentin

+0

"ファイルを新しいディレクトリに移動するとSEOに影響するだろう" - [this](https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#を参照) q + = + URL +と+ SEOを変更する) – Quentin

関連する問題