web-dev-qa-db-ja.com

wwwなしでサイトへのアクセスが拒否されました

自分のサイトにアクセスできるのはなぜですか:http://www.example.comhttp://example.comではありません。

HTTPエラー403(禁止):サーバーは要求の実行を拒否しました

どのように修正しますか?

サイトを作成し、リモートサーバーにアップロードしました。

2
KMC

mickburkejnrは近いですが、完全に正しいわけではありません。問題はDNSにありません(それはcould beですが、それはありそうにありません)。問題は、Webサーバーが、適切なサイトの「www」プレフィックスなしでサイトのクエリに応答するように構成されていないことです。

「www」は単なる通常のサブドメインであることに注意してください。 「google.com」はルートサイトであり、「www.google.com」は「mail.google.com」と同様にサブドメインです。 「mail.google.com」と「google.com」を同じ場所に移動したい場合は、ウェブサーバーにそのことを伝えます。

一般的に、最良の解決策は、「www」から非wwwバージョンのサイトにリダイレクトすることです(他の方法を好む人もいます。ご覧の通り、SEサイトはそうではありません)。 Googleを使用して簡単に一般的なWebサーバーでそれを行う方法の例を見つけることができます。

Apacheでは、別の仮想ホストでリダイレクトディレクティブを使用するだけです。

<VirtualHost *:80>
    Server www.domain.com
    Redirect permanent / domain.com
</VirtualHost>
2
Tom Marthenal

DNSレコードは、wwwなしでサーバーへのトラフィックを受け入れるように設定されていません。これは単純なAレコードであり、含まれるのは空白または「my0wnsite.com」のみです。

DNSレコードを自分で変更できない場合は、レジストラまたはホスティング会社に連絡してください。彼らはあなたのためにこれをかなり迅速に整理します。

1
mickburkejnr

トムの診断は正しい。トムとは少し異なる機能を提供する別のサーバー構成を提供します。

<VirtualHost *:80>
    ServerName domain.com
    DocumentRoot /var/www/domain
    ServerAlias www.domain.com
</VirtualHost>

トムの構成では、サーバーがリダイレクト www.example.comからexample.comにコンテンツを提供しますが、上記の構成ではリダイレクトせずに同じコンテンツを提供になります。

1
msanford