1

私はここで本当に簡単なことをしようとしていますが、それは私のお尻を蹴っています。私は自分のウェブサイトを持っており、今朝そのウェブサイトの SSL 証明書を取得しました。ユーザーを安全なサイトにリダイレクトしたいのですが、証明書が必要なのは Web サイトの特定の部分だけなので、他の部分については心配したくありません。証明書をdomain.com非表示にしていwww.domain.comます。証明書が必要な Web サイトの一部で、すべてのページがappsディレクトリにあります。たとえばdomain.com/apps/login.php。これが私が .htaccess ファイルに入れたものです。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/apps/.*$
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://domain\.com%{REQUEST_URI} [R=301,L]

ここで、これが何をすべきだと思うかを説明します。どこが間違っているかを教えてもらいたいです(笑)。

  • RewriteEngin On- リダイレクトを許可
  • RewriteCond %{REQUEST_URI} ^/apps/.*$- ユーザーがアプリ ディレクトリにいるかどうかを確認します
  • RewriteCond %{HTTPS} !=on- ユーザーが既に https:// を使用しているかどうかを確認します
  • RewriteRule ^(.*)$ https://domain\.com%{REQUEST_URI} [R=301,L]- リダイレクト

これは部分的に機能します。入力すると、www.domain.com/apps/login.phpにリダイレクトされhttps://domain.com/apps/login.phpます。完全。しかし、入力しただけでは、www.domain.comにリダイレクトされhttps://domain.comます。それで、私の線RewriteCond %{REQUEST_URI} ^/apps/.*$が壊れているようです。appsディレクトリにあるときにのみ安全なサイトにリダイレクトするようにするには、そこに何を配置する必要がありますか?

4

1 に答える 1

1

あなたのルールはうまくいくように見えますが、いずれにしてもRewriteCond %{REQUEST_URI}テストは必要ありません。に含めるだけ^appsですRewriteRule

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^apps/(.*)$ https://domain.com/apps/$1 [R=301,L,NC]
于 2012-09-13T16:56:47.203 に答える