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

Сделать псевдоним исключенным из RewriteRule

У меня следующая конфигурация Apache:

<VirtualHost *:80>

    Alias "/.well-known" "/var/www/example.com/.well-known"

    RewriteEngine On

    <If "%{HTTP_HOST} == 'example.com'">
        RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </If>

    <ElseIf "%{HTTPS} != 'on'">
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </ElseIf>

</VirtualHost>

Я хочу Alias освобождены от перенаправления HTTPS, т.е. http://example.com/.well-known/x должен вернуть файл по адресу /var/www/example.com/.well-known/x. На данный момент выполняется перенаправление на HTTPS по RewriteRules ниже.

Как я могу сделать Alias освободить от редиректа?

<If "%{HTTP_HOST} == 'example.com' && !(${REQUEST_URI -strcmatch '/.well-known/*')" >
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</If>

<ElseIf "%{HTTPS} != 'on' && !(${REQUEST_URI -strcmatch '/.well-known/*')">
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</ElseIf>