Avatar billede topceres Nybegynder
25. januar 2012 - 13:18 Der er 7 kommentarer og
1 løsning

.htaccess omskrivning af url

Hejsa, nogen som kan hjælpe mig.. vil gerne have skrevet noget i min .htaccess fil som ændrer URL'en på siden så der altid er www foran domain navnet (xxx.dk/anything ændres til www.xxx.dk/anything). Til det formål brugte jeg følgende:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.xxx.dk [NC]
RewriteRule ^(.*)$ http://www.xxx.dk/$1 [R=301,L]

... og det virkede fint. MEN ... nu er problemet så, at jeg har fået opsat et nyt domain til at pege på samme server, xxx2.dk - uden at xxx2.dk laves om til xxx.dk (væsenligt).

Det sørgede min host for ... men skrev følgende:

"Jeg har nu opsat domænerne efter de nævnte kriterier.
Jeg har dog deaktiveret .htaccess filen i mappen xxx.dk ved at omdøbe den til .htaccess_
Dette skyldes at filen omdirigerede til www.xxx.dk hvilket gik i konflikt med at xxx2.dk adressen skulle forblive uændret."

NU kommer mit spørgsmål...: hvordan får jeg lavet .htaccess filer (gerne een for både xxx2.dk og xxx.dk, det er helt fint) ... som ikke konflikter jfr. ovenstående og som ændrer URL fra xxx(n).dk/anything til www.xxx(n).dk/anything ...

Håber det lykkedes mig at forklare ordentligt. Help - anyone? :-)
Avatar billede moddi100 Seniormester
25. januar 2012 - 15:07 #1
Du laver et simpelt tjek som du tilføjer til din regel:


RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.xxx\.dk [NC]
RewriteCond %{HTTP_HOST} !^xxx2\.dk [NC]
RewriteCond %{HTTP_HOST} !\.xxx2\.dk [NC]
RewriteRule ^(.*)$ http://www.xxx.dk/ (...) [R=301,L]


Alt hvad der går direkte til xxx2.dk bøjes ikke af regelen (skyldes linje 3), mens alt som går til sub.xxx2.dk heller ikke bøjes (skyldes linje 4).

Du kan dog ikke have to forskellige htaccess-filer i samme mappe, så bliver nødt til at lave ovenstående tjek. F.eks. kunne du anvende samme regel for det andet domæne:

...
RewriteCond %{HTTP_HOST} !^www\.xxx2\.dk [NC]
RewriteCond %{HTTP_HOST} !^xxx\.dk [NC]
RewriteCond %{HTTP_HOST} !\.xxx\.dk [NC]
RewriteRule ^(.*)$ http://www.xxx2.dk/ (...) [R=301,L]
Avatar billede topceres Nybegynder
25. januar 2012 - 15:21 #2
Super, tak for svar, vil prøve af så snart jeg kan komme til det. Har lige skimmet hvad du skrev, "kan ikke have to htaccess-filer" ... korrekt. Men jeg har faktisk både en root mappe til xxx.dk og xxx2.dk ... men det hjælper så dog nok ikke at lægge noget i xxx2.dk ... fordi min host har lavet noget dns som gør, at det alt sammen peger www.dk ...? :-)
Avatar billede topceres Nybegynder
25. januar 2012 - 17:07 #3
og ... hvis jeg må inden jeg har prøvet det, nu læste jeg det lige igen ... jeg skulle gerne finde en løsning som ikke checker xxx og xxx2, men på een og samme gang xxx[n].dk, altså potentielt uendeligt mange domains (2 nu, 100 i morgen måske?) - dvs. simpelthen tilføjer www foran lige meget hvad (og beholder domain navnet), men bevarer dns opsættet så de alle læser koden fra det oprindelige site - xxx.dk

... gør dit eksempel det? (jeg er ikke god til regex, desværre...)
Avatar billede moddi100 Seniormester
25. januar 2012 - 23:42 #4
Jeg må indrømme at jeg ikke ved hvordan du kan gøre det på udefinerede domæner, men tror du bliver nødt til at ligge dem ind på samme måde som i det jeg skrev sidst
Avatar billede topceres Nybegynder
24. februar 2012 - 05:20 #5
Well, lykkedes ikke rigtigt. Endte med at droppe rewrite, lave xxx2 - xxxn som alias og tage højde for med/uden www i php koden i stedet. Havde håbet på det andet men...

Tak for svar og hjælp.
Avatar billede topceres Nybegynder
24. februar 2012 - 05:21 #6
Læg et svar for points :-)
Avatar billede moddi100 Seniormester
24. februar 2012 - 08:41 #7
Så længe du inkluderer php-filen på alle sider, er det vel også fint :)
Avatar billede topceres Nybegynder
24. februar 2012 - 08:51 #8
Yes, det er naturligvis i en helt central funktion :-)
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
Kurser inden for grundlæggende programmering

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