1

私が現在抱えている問題は、ウェブサイト全体が https を使用してインデックス化されていることです。.htaccess を使用して http にリダイレクトします。問題は、引き続き https を使用するためにいくつかの URI が必要であり、URI の例外を記述する方法がわからないことです。

私たちのサイトが www.example.com/account.php のように機能しているが、サイトの URL が www.example.com/index.php?l=account のようになっている場合、以下の例が機能することはわかっています。

# Turn SSL on for account
RewriteCond %{HTTPS} off
RewriteCond %{SCRIPT_FILENAME} \/account\.php [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

どうすればこれを修正できますか、ガイダンスをいただければ幸いです。

ありがとう

編集!

したがって、以下のコードは機能していますが、機能しないように見えるもう1つの例外を作成したいと思います。また、ルート(index.php)でhttpのみを使用する必要があります。

使ってみた...

RewriteCond %{REQUEST_URI} !^/index.php 

しかし、これはうまくいきませんでした

# invoke rewrite engine
RewriteEngine On
RewriteBase /

RewriteCond %{https} off
RewriteCond %{QUERY_STRING} !^l=product_detail
RewriteCond %{QUERY_STRING} !^l=product_list
RewriteCond %{QUERY_STRING} !^l=page_view
RewriteRule ^(.*)$ https://%{HTTP_HOST}/development/$1 [R=301,L]

ありがとう

4

1 に答える 1

1

試す

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/account.php 
RewriteCond %{QUERY_STRING} !^l=account
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/account.php [OR]
RewriteCond %{QUERY_STRING} ^l=account
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
于 2013-04-17T17:46:36.343 に答える