Возможно ли перенаправить определенные страницы моего сайта (с использованием https) на http?

#apache #.htaccess #http #mod-rewrite #url-rewriting

#apache #.htaccess #http #мод-перезапись #url-переписывание

Вопрос:

Цель

Я хотел бы перенаправить определенные страницы моего веб-сайта на http.

Предыстория

У меня есть следующий .htacess

 Options All -Indexes
RewriteEngine On 
RewriteRule ^(.*).html $1.php [L]
RedirectMatch ^/*$  https://**mydomain_name**/files/index.php   
Options  SymLinksIfOwnerMatch 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /files/error.php [L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
 

что позволяет мне перенаправлять все на https (и это хорошо работает)

Вопрос

Возможно ли перенаправить все страницы, имеющие адрес, содержащий внутренний (https://mydomain_name/internal /) к http (а не https)?

Ответ №1:

Лучше мы могли бы сохранить условие НЕ обрабатывать запросы для URI, которые содержат inernal, вместо того, чтобы сначала перенаправлять их на https, а затем возвращаться к http для конкретно упомянутых URI.

 Options All -Indexes
RewriteEngine On 
RewriteRule ^(.*).html $1.php [L]
RedirectMatch ^/*$  https://**mydomain_name**/files/index.php   
Options  SymLinksIfOwnerMatch 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /files/error.php [L]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/internal [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
 

Комментарии:

1. Потрясающе! Я не переписал %{REQUEST_URI}! ^/ [NC]

2. Хороший ответ RavinderSingh!