1

次の問題があります。

私はウェブサイトを持っており、ディレクトリ/membersと/adminには、これらのURLをhttps://に強制的に移動させる.htaccessを持っています。他のすべてのURLは通常のhttps://に移動を強制されます。

さて、https://である/ membersの場合、ページにインポートされた/js/script.jsへの参照がページにありますが、もちろん、このディレクトリ/ jsは、ページがhttps://に表示

Internet Explorerユーザーは、セキュリティで保護されていないコンテンツをセキュリティで保護されたページに表示する場合はポップアップが表示されます。[はい]をクリックすると問題ありません。[いいえ]をクリックすると、JavaScriptは機能しません。

/ jsは、通常のhttp://Webサイトと/membersセキュアWebサイトで使用されます。これは/imagesディレクトリにも当てはまります

だから私はこの問題を解決する方法がわかりません。/jsと/imagesはhttpsまたはhttpにすることができると言う以外に。しかし、htaccessファイルでこれを設定する方法についてはわかりません。

どんな助けでも大歓迎です!

これは私が今使っているhtaccessファイルです:

  #Turn SSL on everything, except members and admin
  RewriteCond %{HTTPS} =off
  RewriteCond %{REQUEST_URI}  ^(/members|/admin)
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

  # Turn SSL off everything, except members and admin
  RewriteCond %{HTTPS} =on
  RewriteCond %{REQUEST_URI} !^(/members|/admin)
  RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
4

3 に答える 3

3

かなりの数のアプローチがあります。ここにいくつかあります。

番号1。ルールのにこれを追加します。

# do not do anything for js/css/image files
# (will affect ALL such files in ALL folders)
RewriteRule \.(css|js|jpe?g|gif|png|ico)$ - [L]

上記のルールは、すべてのcss / js / imageファイル(サイト上の任意の場所)のプロトコルをそのままにします

番号2。ルールのにこれを追加します。

# do not do anything to any files in css/js/images folders
RewriteRule ^(css|js|images)/ - [L]

上記のルールは、css / js / imageフォルダー内のすべてのファイル(例example.com/js/main.jsexample.com/images/logo.pngまたはexample.com/js/compress.php

必要に応じて、それらを1つのルールに組み合わせることができます(より具体的に)が、それは不要です(私の観点から)。

于 2012-04-16T12:50:34.207 に答える
1

画像とjsディレクトリに、次のファイルを含む独自の.htacessファイルを作成します。-

RewriteEngine off

これにより、そのフォルダ内のすべてのファイルの書き込みがオフになります。

HTMLでドメインを指定しないでください。そのため、この方法/js/myscript.jsの代わりにhttp://mydomain.com/js/myscript.js、表示しているページと同じプロトコルを継承します。

于 2012-04-16T12:47:58.567 に答える
1

私は1年前に同じ問題に直面しました。ようやく自分で結論にたどり着くことができました。

私の質問をチェックして、htaccessに答えてください(httpsからhttp)

于 2012-04-16T12:55:40.693 に答える