Rewrite fra https til http

Tonny Kluften

Administrator
Jeg har en kunde som skal koble software mot noen filer. Kan dere hjelpe?
De beskriver problemet slik:

------------------------------------------------
Vi har ett litt klønete problem med bakover kapabilitet. I programmet vårt så har vi hatt noen nyheter som må være tilgjengelige på følgende adresse:

http://www.domene.no/INFO/3.asp
http://www.domene.no/INFO/4.asp
http://www.domene.no/INFO/5.asp

mens, den nye siden skal være tilgjengelig på https.
Det var derfor laget en rewrite rule som sjekker om port er ulik 443, og i så fall redirecte til 443.

Problemet blir da at
http://www.domene.no/INFO/3.asp blir injektet med ett redirect script, som gir feilmeldinger i IE og vårt program.

Så jeg prøver å få til ett unntak i i .htaccess filen som holder 3.asp, 4.asp, 5.asp og SP1.html og NAV.html unntatt fra rewrite regel, slik at de fortsatt er tilgjengelige på http umodifisert.

# BEGIN WordPress

<IfModule mod_rewrite.c>

AddType application/x-httpd-php5 .asp
AddHandler application/x-httpd-php .asp
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/INFO\3.asp$
RewriteCond %{REQUEST_URI} !^/INFO\4.asp$
RewriteCond %{REQUEST_URI} !^/INFO\5.asp$
RewriteCond %{REQUEST_URI} !^/INFO\SP1.html$
RewriteCond %{REQUEST_URI} !^/INFO\NAV.html$
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Har du vært borti dette og ser hva jeg gjør feil?

----------------------------------------------------------
 

Pong

Jeg selger sʇɥƃıluʍop :)
Tror at hvis de tar i utgangspunkt i dette, så får de det til:

Kode:
# BEGIN excluding certain files from https'ing
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^test\.php$ - [L]
</IfModule>
# END

Denne forteller at hvis https er AV og filen som etterspørs heter test.php, så slipper Apache sjekke resten av .htaccess med en gang.
"Ulempen" med dagens browsere er at de cacher mange 301-redirects (så testing av forskjellige regler er ikke alltid like enkelt).
 
Topp