0

私は次のhtmlコードを持っています:

<div id="page">
    <a class="topNavigationLink" href="http://MyOwnWebsite.com/">Home</a>
    <a class="topNavigationLink" href="page1.html">page1</a>
    <a class="topNavigationLink" href="page2.html">page2</a>
</div>

www.MyOwnWebsite.comにアクセスし、ナビゲーションリンクをクリックすると、すべて期待どおりに機能します。

しかし、MYOWnWebsite.com(wwwなし)を参照してから、ページの1つに移動しようとすると、エラーが発生します。

Firefox can't find the file at http://MyOWnWebsite.com/page1.html.

私は何か間違ったことをしていますか?www.website.comとwebsite.comを処理する正しい方法は何ですか?

4

4 に答える 4

1

ウェブホストへのルート(およびssh)アクセス権がある場合は、htdocsディレクトリのwwwフォルダにシンボリックリンクを追加する必要があります。htdocsフォルダー内のすべてのディレクトリは、Webサーバーによってサブドメインと見なされます。したがって、DNSレコードがワイルドカードサブドメインのサーバーを指している場合、Webサーバーはサブドメインのさらなる処理を処理します。したがって、このシンボリックリンクにより、サーバーはwww.mysite.comとmysite.comに同じコンテンツをロードするようになります。

cd /patch/to/htdocs
ln -s www mysite

mysiteをドメイン名に置き換えますが、国のサフィックスとwwwプレフィックスは付けません。それはあなたにこのようなものを与えるはずです:

[vhostxxxx@ssh:~/domains/mysite.com/htdocs]$ ls -l
total 3 
lrwxrwxrwx  1 vhostxxxx vhostuser  3 2012-11-10 12:47 mysite -> www
drwxr-xr-x+ 9 vhostxxxx vhostuser 20 2012-11-13 21:52 www`

ここで、mysite.comを参照すると、www.mysite.comと同じサイトが表示されます。

ナビゲーションでのリンクについて:

`<div id="page">
    <a class="topNavigationLink" href="http://mysite.com/">Home</a>
    <a class="topNavigationLink" href="http://wwww.mysite.com">Home</a>
    <a class="topNavigationLink" href="wwww.mysite.com">Home</a>
    <a class="topNavigationLink" href="page1.html">page1</a>
    <a class="topNavigationLink" href="/page2.html">page2</a>
</div>`

これは次のようにリンクします(ある順序で):

  1. mysiteで呼び出されたディレクトリ(またはシンボリックリンク)へhtdocs
  2. wwwwで呼び出されたディレクトリ(またはシンボリックリンク)へhtdocs
  3. これは間違っています。と呼ばれるページを指しますwwww.mysite.com。このページは、リンク元のページと同じディレクトリに配置する必要があります。したがって、そこからリンクすると、htdocs/www/index.htmlを指しhtdocs/www/wwww.mysite.comます。http://アドレスにドメインが含まれている場合は常に使用してください。
  4. page1.htmlリンク元のページと同じディレクトリにある、というページへ。あなたがそれからそれをリンクした場合htdocs/www/SomeTopic/page99.htmlhtdocs/www/SomeTopic/page1.html
  5. page2.htmlドキュメントルートにある、というページへ。あなたがそれからそれをリンクした場合htdocs/www/SomeTopic/page99.htmlhtdocs/www/page1.html
于 2012-11-17T06:39:12.533 に答える
1

最初にすべきことは、相対リンクを使用することです。

そうは言っても、ドメインのDNSレコードをチェックする必要があります。Aレコードには「*」レコードがあります。これは、「www」を含むすべてのサブドメインを取得し、それらをサーバーにポイントします。

または、すべてが必要ない場合は、「www」だけを入力できます。

これは、レジストラのコントロールパネルで行います。

ナビゲーションにあるのは、スラッシュを先導しないリンクです。

/page_x.htmlだけでなく、相対的なリンクを作成しますpage_x.html

于 2012-11-17T06:40:57.320 に答える
1

現在のURLを使用している場合、ナビゲーションに関するよくある間違いが1つあります。

http://www.mywebsite.com/home/index.html

そして、あなたはこの形のアンカータグを持っています:

<a class="topNavigationLink" href="page1.html">page1</a>

このリンクをクリックすると、次の場所にリダイレクトされます。

http://www.mywebsite.com/home/page1.html

これは、href="page1.html"相対リンクであり、URLのベースが/home/

解決:

アクセスしたい場合:

http://www.mywebsite.com/home/page1.html

リンクにスラッシュを追加する必要があります。例:

<a class="topNavigationLink" href="/page1.html">page1</a>

これはルートドメインのベースになります/

于 2012-11-17T06:50:37.697 に答える
0

これを修正するために、私は次のことを行いました:

ホストgatorコントロールパネルに移動しました->ドメインリダイレクトをクリックしました。https://www.mysite.comにリダイレクトするためにhttp://website.comからの永続的なリダイレクトを追加しました。

このように、ユーザーがwwwなしでmysite.comにアクセスするたびに、ユーザーはwww.mysite.comにリダイレクトされ、そこからすべてのナビゲーションが機能します。

于 2012-11-17T21:00:43.643 に答える