Вы настроили отдельный VirtualHost
для порта 443
?
если да, попробуйте удалить __default__
из директивы VirtualHost
в вашей директиве ssl.conf
/ VirtualHost
, установленной ssl
.
Что должно выглядеть так:
<VirtualHost _default_:443>
Прежде всего, я бы предложил вам добавить это в ваш VirtualHost
. Для регистрации деятельности или mod_rewrite
. Это будет полезно для отладки и выше RewriteLogLevel
лучше для отладки.
RewriteEngine On
RewriteLog "/path/to/your/rewrite.log"
RewriteLogLevel 3
С RewriteLogLevel Документы :
Чтобы отключить регистрацию действий перезаписи, просто установите Уровень на 0. Это отключит все журналы действий перезаписи.
Использование высокого значения для уровня значительно замедлит ваш сервер Apache! Используйте файл перезаписи на уровне выше 2 только для отладки!
Попробуйте это для вашей проблемы:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/?axis2/(?:.*)$ [NC]
RewriteRule ^(.*)(/?axis2/)(.*)$ https://$1$2$3 [L,R=301]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}%{QUERY_STRING} [L,QSA,R=301]
Если %{REQUEST_URI}
не начинается и не заканчивается /axis2
или axis2/
или /axis2/
или axis2
, оно перенаправит ваши URI на https
и прекратит дальнейшее переписывание правил.
Иначе, только это выполнит:
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}%{QUERY_STRING} [L,R=301]
R = 301 означает постоянное перенаправление. Если указано только R, будет выполнено временное перенаправление, т. Е. 302.