Drupal 6を使用していて、ApacheサーバーのSSL証明書(独自の認証局を使用して)構成をすでに設定しており、Drupal 。htaccessファイル。
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^test/home https://localhost/test/home [R=301,L]
http:// test/home にアクセスしようとすると、正しく https:// test/home にリダイレクトされますが、404エラーが表示されます。
見つかりません
リクエストされたURL/test/homeがこのサーバーで見つかりませんでした。
Apache/2.2.9(Ubuntu)PHP/5.2.6-2ubuntu4.6 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Server at localhost Port 443
さらに、セキュアページモジュールでは、セキュアページを有効にすることができません。
設定に問題はありますか?案内してください。
これを自分のサーバーでホストしていると思いますか?同じ問題がありました。最終的に、ApacheでのVhostの定義に問題が生じました。 httpおよびhttpsアクセス用の個別のvhost定義があります(私はApache忍者ではないので、これは最も効率的な方法ではないかもしれませんが、うまくいきました)。 SSL仮想ホストが通常の仮想ホストと同じディレクトリを指していることを確認してください。サーバー上の別のディレクトリからサイトをプルしようとしているようです。
それを確認したら、「このテストが失敗した場合は、ここに移動してください」のリンクをクリックします。
また、Secure Pagesモジュールを使用している場合は、.htaccessの書き換えを使用する必要はありません。
Chaulkyが指摘するように、80と443には別々のvhost定義があります。 SSLを扱う場合、Apacheの設定はもう少し複雑です。 vhostsは次のようになります。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/drupal6
<Directory /var/www/drupal6>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/Apache2/error_example.com.log
CustomLog /var/log/Apache2/access_example.com.log combined
ServerSignature On
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www\.example\.com
DocumentRoot /var/www/drupal6
<Directory /var/www/drupal6>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/Apache2/error_example.com.log
CustomLog /var/log/Apache2/access_example.com.log combined
ServerSignature On
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
# Put SSL stuff in here
</VirtualHost>
つまり、ポート80とポート443に1つずつあります。
Ports.confをチェックして、次のようなものがあることを確認してください:
Listen 443
正当な理由がない限り、securepagesモジュールを完全に廃止し、サイト全体をSSLモードで実行します。 .htaccessのルールを見ると、それがとにかくやろうとしていることです。
すべての非セキュアトラフィックをセキュアにリダイレクトしたい場合は、このバージョンの非セキュアvhostを使用できます。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/drupal6
Redirect / https://www.example.com
ErrorLog /var/log/Apache2/error_example.com.log
CustomLog /var/log/Apache2/access_example.com.log combined
ServerSignature On
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
</VirtualHost>
少し長いですが、申し訳ありませんが、これがあなたが探しているものです。