2017-10-18 13 views
0

私のドメイン名はwwwなしのexample.comです。したがって、www.example.comを入力すると動作しませんがexample.comは動作します。だから私は、今、このApacheの永久リダイレクトは自動的にwwwに行きます

<VirtualHost *:80> 
    ServerName example.com 
    ServerAdmin [email protected] 
    Redirect permanent/https://example.com/ 
</VirtualHost> 

<VirtualHost *:443> 
    ServerName example.com 
    ServerAdmin [email protected] 
    DocumentRoot path/to/project/public 
    SSLEngine on 
    SSLCertificateFile /path/to/keys/xxx.crt 
    SSLCertificateKeyFile /path/to/keys/xxx.key 
    ErrorLog /var/log/apache2/error_log 
    CustomLog /var/log/apache2/access_log combined 
    <Directory "path/to/project/public"> 
     Options FollowSymLinks 
     Require all granted 
    </Directory> 
</VirtualHost> 

ようにApacheを設定し、あなたが見ることができるように、私は

Redirect permanent/https://example.com/ 

ようhttpsに永続的にリダイレクトを行う。しかし、このリダイレクトは、デフォルトではドメイン名でWWWを追加します。したがって、リダイレクトされたURLはhttps://www.example.com/になります。明らかに私のウェブサイトはwwwなしで登録されているので、wwwからアクセスすることはできません。ですから、リダイレクトを動作させる方法を教えてください。そして、httpsなしでhttps://example.com/に行ってください。

答えて

0

別名

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

を追加これはyourdomain.comと同じ場所にwww.yourdomain.comポイントする必要があります。ただし、wwwはSSL証明書では機能しない可能性があります。証明書の特殊性によって異なります。

私は一般的に、私のサイトには、アドレスを入力するたびにwwwを含むことを主張する人がいるため、両方のサイトを許可しています。 Apacheのドキュメントは、より具体的https://httpd.apache.org/docs/2.2/vhosts/name-based.htmlを手伝うことができます

限りリダイレクト問題あなたが持っているように: あなたはWWWにあなた以外のWWW要求を書き換えているいくつかのRewriteEngineルールを持っていないことを確認してください。リライト/リダイレクトを実行しているサイトのディレクトリに.htaccessというファイルがある可能性があります。

それはのようなものに見えるかもしれません:あなたは、最後の書き換えルールでWWWを削除する必要がありますを意味します

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^/?(.*) https://www.%{SERVER_NAME}/$1 [R,L] 

関連する問題