Назад | Перейти на главную страницу

Условное перенаправление https на http в зависимости от URL-адреса? (Апач)

Прямо сейчас я перенаправляю 100% времени, если кто-то это делает https://mysite.com

<VirtualHost *:443>
   ServerAdmin webmaster@mysite.com
   ServerName mysite.com
   ServerAlias www.mysite.com

   RewriteEngine on
   RewriteRule (.*) http://%{HTTP_HOST} [L,R=permanent]
<VirtualHost>

Однако теперь я хочу условно перенаправить. Если пользователь переходит на https://mysite.com/abc/, то я хочу использовать https; в противном случае перенаправить.

Как мне это сделать? Я пробовал читать документы, но никак не мог найти то, что мне нужно.

Я использую Apache в Ubuntu Linux.

Попробуйте добавить RewriteCond (Условие перезаписи) перед RewriteRule. Я бы попробовал написать что-то вроде этого:

RewriteCond %{REQUEST_URI} !^.*(abc).*$ [NC]

Вот некоторые дополнительные материалы для чтения, если это не помогает:
- http://www.whoopis.com/howtos/apache-rewrite.html
- http://www.sitepoint.com/article/apache-mod_rewrite-examples/

Я воспроизведу ответ, который дал вам на форумах Slicehost:

RewriteRule !^/abc/ http://%{HTTP_HOST} [L,R=permanent]

(отредактировано)

Примеры для apache: https://httpd.apache.org/docs/trunk/rewrite/remapping.html#canonicalhost

В качестве альтернативы вы можете сделать это с помощью директивы: (2.4 и новее)

Перенаправить "/" "http://www.example.com/"Или, например, чтобы перенаправить часть вашего сайта на HTTPS, вы можете сделать следующее:

Перенаправить "/ admin /" "https://www.example.com/admin/"