-2

例:

Godaddy(www.example.com)にドメイン名があり、Amazonec2でホストされているサーバーである200.200.200.200にマスキングして転送したいと思います。ブラウザからwww.example.comにアクセスすると、自分のサイトが正常に表示されます。しかし、私のサイトのすべてのリンクは200.200.200.200/homeにリンクしています。代わりにリンクがwww.example.com/homeを指すようにするにはどうすればよいですか?Webフレームワークとしてdjangoを使用しています。ありがとう!

編集:

私が使用しているリンクの例は、<a href="{% url home %}">home</a>これが次のようにレンダリングされるようにすることです<a href="/home/" >home</a>

4

1 に答える 1

0

転送する代わりにマスキングを使用する必要がありますか?転送されたURLの場合、これは発生しませんが、マスキングは実際に元のページを参照しているときにアドレスバーに新しいURLを貼り付けるだけなので、相対リンクは引き続き元のURLを参照します。さらに、マスキングを使用すると、Googleのクローラーの動作が変わるため、サイトが検索結果に表示されるほど高く表示されない可能性があることを理解しています。これは、それが重要であるかどうかを調べるためのものです。何らかの理由でマスキングが必要な場合は、すべてのリンクで絶対URLを使用する必要があると思います(これを回避するためにGoDaddyに設定がある可能性がありますが、私にはわかりません-ある場合は、他の誰かが答えてくれることを願っています)。

djangoで絶対URLを使用する最も簡単な方法は、おそらくsettings.pyでROOT_URL変数(つまり)を定義することです。次に、ホームリンクは次のようになります。ROOT_URL = http://www.example.com

<a href="{{ ROOT_URL }}{% url home %}">home</a>

'ROOT_URL'=settings.ROOT_URLテンプレートがROOT_URL変数にアクセスできるように、ビューのHtmlResponseに渡す(または代わりにcontext_instanceを渡す)必要もあります。

お役に立てば幸いです。

于 2010-12-31T22:53:24.150 に答える