2013-04-17 8 views
1

Так что проблема, с которой я в настоящее время сталкиваюсь, заключается в том, что весь наш сайт индексируется с использованием https. мы хотим перенаправить на http используя .htaccess. проблема в том, что нам нужно несколько URI для использования https, и я не уверен, как написать исключение для URI.Перенаправление с https на http, за исключением некоторых URI

Я знаю, что приведенный ниже пример будет работать, если наш сайт функционирует следующим образом: www.example.com/account .php, но наш сайт URLs, как 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] 

, как я могу это исправить, любое руководство будет оценено.

спасибо

EDIT!

Итак, этот код ниже работает, но я хотел бы сделать еще одно исключение, которое, как мне кажется, не работает, я также хочу, чтобы root (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] 

благодаря

ответ

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] 
Смежные вопросы