2017-11-05 11 views
1

私のURLのwwwバージョンとwww以外のバージョンの両方にアクセスします。残念ながら、このレコードを追加するだけでは機能しません。htaccessはwww.example.comのみで禁止されています

AWS Route 53を使用して、私はmydomain.comにホストゾーンを持っています。その中には、ネームサーバーとEC2インスタンスを指すレコードがあります。これは素晴らしいですが、mydomain.comの場合にのみ有効です。 www.example.comに入力するとすぐに「禁止」になります。 https://www.example.comを使用してください。ここで難しいのは、http://example.comにアクセスすると「禁止」エラーが発生し、サイトを使用できないということです。

ルート53側を変更する必要がありますか?それとも.htaccessものなのでしょうか?そうなら、私は何を追加するのですか?


私の.htaccessファイルは、次のようになります。

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]` 
+0

することができますDNSの設定とあなたのhtaccessファイルを投稿しますか? –

+0

に.htaccessが追加されていますが、ルート53からDNS設定を追加する方法がわかりません。 – bblocs3141

+1

Route53はプロトコル(http/httpsなど)について何も気にしません。これはWebサーバーの設定になります。 –

答えて

0

は、Apacheが

を設定ように私は、Apache virtual hostを使用してServerAliasとしてwwwアドレスを設定します見えます。

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias www.example.com example.com 
</VirtualHost> 

ような何かあなたは(あなたがあるべきである)SSL/TLSを使用している場合(letsencryptを使用している場合)、あなたの仮想ホストのファイルは次のようになります

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias www.example.com example.com 
    Redirect/https://example.com/ 
</VirtualHost> 
<VirtualHost *:443> 
    ServerName example.com 
    ServerAlias www.example.com example.com 
    DocumentRoot /var/www/example.com 
    <Directory /var/www/example.com> 
     AllowOverride All 
    </Directory> 
    SSLEngine on 
    SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem 
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem 
    SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem 
    SSLProtocol All -SSLv2 -SSLv3 
    SSLHonorCipherOrder on 
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS" 
</VirtualHost> 
関連する問題