Прямо сейчас я перенаправляю 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/"