2015-06-05 4 views
2

Я хочу перенаправить все страницы на моем сайте Wordpress на SSL, кроме одного.Перенаправить все страницы Wordpress на SSL, кроме одного

Я пробовал множество способов сделать это и успешно работал с SSL, но я не могу заставить исключение одной страницы работать.

Я предполагаю, что проблема кроется в специальных переписях Wordpress.

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 

RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteCond %{REQUEST_URI} ^parent-page/child-page/ 
RewriteCond %{HTTPS} on 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] 
</IfModule> 
# END WordPress 

Любые предложения?

+0

Вы не хотите перенаправлять '/ parent-page/child-page /'? –

+0

Точно. Я добавил его после операторов Wordpress, поскольку я думал, что он не работает, потому что permalink еще не был создан. Все еще не сработало. – Robert

ответ

5

Вам всегда нужны ваши правила, которые перенаправляются на до правил, которые внутренне переписываются. В противном случае внутренние вещи (например, /index.php) в конечном итоге будут перенаправлены.

Try:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{SERVER_PORT} !^443$ 
RewriteCond %{REQUEST_URI} !^/parent-page/child-page/ 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 

RewriteCond %{REQUEST_URI} ^/parent-page/child-page/ 
RewriteCond %{HTTPS} on 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] 

RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 


</IfModule> 
# END WordPress 

Обратите внимание, что вам также необходимо добавить / ведущую черту в ваших %{REQUEST_URI} условиях, те всегда будет начинаться с /. Кроме того, необходимо, чтобы не перенаправлялся на https с этим URI, поэтому вам нужно добавить отрицательное условие исключения для перенаправления на https.

+0

Спасибо за это. Кажется, это ближе к моей цели, но рассматриваемая страница просто перенаправляется на главную страницу. – Robert

+0

Больше предложений? – Robert

+0

@Robert нет ничего в правилах, которые перенаправляются на домашнюю страницу, возможно, что-то еще это делает. –

Смежные вопросы