Avatar billede nissen2630 Novice
10. november 2013 - 18:56 Der er 9 kommentarer og
1 løsning

htaccess rewrite virker uden kun uden HTTP:// foran

Har følgende .htaccess fil
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.test.dk$
RewriteCond %{REQUEST_URI} !^(.*)\.test.dk/(.*)$
RewriteCond %{REQUEST_URI} ^(.*)\.test.dk$
RewriteRule ^(.*) http://www.test.dk/hvsel/testlink.php?id=$1 [R,L]
RewriteCond %{REQUEST_URI} ^(.*)\.test.dk/login$
RewriteRule ^(.*) http://www.test.dk/hvsel/login/ [R,L]


den virker fint hvis der ikke står HTTP:// foran.
Hvis det skrives sådan : jesper.test.dk/login eller jesper.test.dk
er der ingen problemer
Avatar billede moddi100 Seniormester
10. november 2013 - 19:10 #1
hvordan virker det, hvis du redirecter til en ekstern side, således at du kan se hvilken url du kommer til?

Tit er problemet i sådan et tilfælde, at du ryger tilbage ind i en løkke af redirects, hvor det er svært at opdage, hvad der rent faktisk sker.
Avatar billede nissen2630 Novice
10. november 2013 - 19:35 #2
Når jeg skriver kurt.test.dk kalder den fint testlink.php
Når jeg skriver kurt.test.dk/login kalder den loginsiden.

Men skriver jeg http://kurt.test.dk får jeg en 404
Avatar billede moddi100 Seniormester
10. november 2013 - 19:55 #3
Skriver det hvorhenne? I din browser ?
Avatar billede nissen2630 Novice
10. november 2013 - 20:06 #4
Der kommer helt automatisk http:// foran i browseren når jeg tester der

Ellers er det testet på følgende side http://htaccess.madewithlove.be/
På denne side virker det heller ikke med http:// foran.

Jeg kan bare ikke gennemskue hvorfor

Det går i bund og grund ud på at smide alle subdomains videre til testlink.php ..Og skrives der sub.test.dk/et_eller_andet skal den selvfølgelig kalde det der er skrevet men med http://test.dk/ foran

i testlink.php håntere jeg så subdomænet til at kalde en opsætning af underliggende sider.

Ikke let at beskrive men håber du forstår
Avatar billede moddi100 Seniormester
10. november 2013 - 20:29 #5
Så bliver du lige nød til at specificere hvor du helt præcist vil indsætte "http://".

I .htaccess filer matches der på domænet og den tilhørende query string. Protokollen som er "http" medtages ikke i HTTP_HOST værdien, såfremt det er det du mener. Eksempel

//Vi går ind på http://www.test.dk/side.php
%{HTTP_HOST} indeholder nu "www.test.dk"

// Vi ønsker nu kryptering og går ind på https://www.test.dk/side.php
%{HTTP_HOST} indeholder nu "www.test.dk"


Ergo indeholder HTTP_HOST altid domænet, men aldrig protokollen. Jeg ved ikke om det er det du mener? Ellers vil jeg gerne se et eksempel hvor du har indsat "http"
Avatar billede nissen2630 Novice
10. november 2013 - 20:39 #6
okay så prøver en lidt anden forklaring.

en bruger indtaster kurt.test.dk eller kurt.test.dk/login eller http://kurt.test.dk eller http://kurt.test.dk/login i sin browsers adresselinie.

skriver han http://kurt.test.dk eller kurt.test.dk skal den sendes til testlink.php?id=kurt

skriver han http://kurt.test.dk/login eller kurt.test.dk/login
skal han sendes til  http://www.test.dk/hvsel/login/

håber du forstår og tak for tålmodigheden.. har aldrig arbejdet med htaccess filer før :-)
Avatar billede moddi100 Seniormester
10. november 2013 - 22:57 #7
Om brugeren skriver http:// foran eller ej gør ikke nogen forskel - men det er muligt, at det gør en forskel i din htaccess-tester.

Når brugeren blot indtaster kurt.test.dk i sin browser, tilføjes der automatisk http:// foran. Ergo gør det ingen forskel i din htaccess-fil.
Avatar billede nissen2630 Novice
11. november 2013 - 07:34 #8
Og løsningen er:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.test.dk$
RewriteCond %{HTTP_HOST} ^(.*)\.test.dk$
RewriteCond %{REQUEST_URI} !^/login$
RewriteRule ^(.*) http://www.test.dk/hvsel/testlink.php?id=$1 [R,L]
RewriteCond %{REQUEST_URI} ^/login$
RewriteRule ^(.*) http://www.test.dk/hvsel/login/ [R,L]


Smid et svar da du guide mig på rette vej :-)
Avatar billede moddi100 Seniormester
11. november 2013 - 23:05 #9
Så lidt, .htaccess er et område med mange faldgruber :)
Avatar billede moddi100 Seniormester
11. november 2013 - 23:08 #10
og et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester