2017-03-07 2 views
0

J'utilise Apache 2 pour une application Web.Ajouter SSL en option sur certaines URL

Je souhaite forcer SSL pour la plupart des URL. par exemple. Si je vais à http://example.com/foo, je serai redirigé vers https://example.com/foo.

C'est assez facile en utilisant:

<VirtualHost *:80> 
    ServerName example.com 
    ServerAlias *.example.com 
    RewriteEngine on 
    RedirectMatch ^(/.*)$ https://example.com$1 
</VirtualHost> 

Cependant, je veux SSL soit en option pour une URL qui a ce modèle:

example.com/api/* 

La raison est que mon application mobile est déjà en ligne et utilise la version http du site, et je ne souhaite pas le casser.

Comment est-ce que je peux faire ceci?

Répondre

1

précédera la RewriteRule avec

RewriteCond %{REQUEST_URI} !^/api/ 
+0

Je le code suivant: 'RewriteCond% {REQUEST_URI} ^/api/ RewriteRule^(/.*) $ https: //% {Nom_serveur} $ 1 [ R, L] ', mais quand je vais' http: // exemple.com/api/offer/feed', il redirige vers 'http: // example.com/index.php'. Pourquoi ça fait ça? –

+1

Règle non liée? – covener

+0

Les seules autres règles se trouvent dans le [fichier Lartext htaccess par défaut] (https://github.com/laravel/laravel/blob/5.1/public/.htaccess). Je suis vraiment confus dans la façon de résoudre ce problème car j'en ai besoin résolu d'urgence! –