WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   htaccess redirect "två" domäner till en (https://www.wn.se/forum/showthread.php?t=17456)

Seattlegrunge 2006-11-12 03:11

Jag har t ex domänerna exempel.se och exempel.com

Nu vill jag att all trafik ska ske på www.exempel.se.
Alltså om man går in på h**p://www.exempel.com eller h**p://exempel.com så ska man hamna på h**p://www.exempel.se.
Detta har jag lyckats fixa, det var enkelt med WN och Google som hjälp :)

Men jag vill även få all trafik till h**p//exempel.se att riktas mot h**p://www.exempel.se och det är just detta jag inte får till i samma htaccess-fil.

Så här ser min .htaccess ut just nu:
Kod:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^exempel.com [nc]
rewriterule ^(.*)$ h**p://www.exempel.se/$1 [r=301,nc]

Förresten, vad betyder $1 i exemplet ovan?

Jag försökte lägga till följande rad näst sist, men det fungerade inte (det blir väl en "loop" av det?):
Kod:

rewritecond %{http_host} ^exempel.se [nc]
Någon som kan ge en lite hjälp på traven?

EDIT: Kanske ska tillägga att båda domänerna pekar på samma webbkatalog, men det hade ni nog redan listat ut ;)

Seattlegrunge 2006-11-12 03:51

Kod:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domän.se [nc]
rewriterule ^(.*)$ http://www.domän.se/$1 [r=301,nc]

Damn, var det så lätt? Det funkar iaf :)

I htaccess-filen så omnämns ju inte com-domänen över huvud taget, så jag trodde garanterat att bara se-domänen skulle påverkas. Men men, ibland kan man inte hänga med på allt :)

Är det någon som har lust att förklara lite närmre vad rad för rad betyder/gör, för jag har inte riktigt grepp på allt där. Lite mer koll på raderna ovan skulle göra det betydligt roligare...

Tack Kjette!

Seattlegrunge 2006-11-12 03:55

Nähä... som jag misstänkte ovan, det funkade tyvärr inte Kjette... det funkade trodde jag, men det var FF som hade cachat .htaccess :(

Någon annan som vill försöka lösa nöten?

EDIT:

Nähä igen... skrev om den som jag hade den i översta inlägget igen... nu fungerar endast följande kombination:

h**p://exempel.com -> h**p://www.exempel.se

Övriga fungerar inte alls, utan de "stannar" kvar på skriven url/domän.
Dessa fungerar inte, utan går från -> till:
h**p://www.exempel.com -> h**p://www.exempel.com
h**p://exempel.se -> h**p://exempel.se

Måste ha varit en synville i mina ögon att det fungerade till två tredjedelar när jag skrev inlägg 1.

Hoppas nån hänger med på mitt nattbabbel...

Filip 2006-11-12 09:42

Prova detta, det funkar för mig:

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

Seattlegrunge 2006-11-12 12:44

Nope, funkade inte.... skrev jag så som du angav ovan så fungerade endast:
h**p://exempel.com -> h**p://www.exempel.se

Precis som tidigare :(

Seattlegrunge 2006-11-12 13:17

Jag hoppas jag har beskrivit mitt problem korrekt och att ni hänger med på vad jag vill ha gjort... annars kan det bli lite svårt att komma med den korrekta lösningen :)

Filip 2006-11-12 13:21

Citat:

Originally posted by Seattlegrunge@Nov 12 2006, 13:44
Nope, funkade inte.... skrev jag så som du angav ovan så fungerade endast:
h**p://exempel.com - h**p://www.exempel.se
Precis som tidigare

Prova nedanstående:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exempel\.com$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.exempel\.com$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^exempel\.se$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]

kers 2006-11-12 13:24

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

Seattlegrunge 2006-11-12 13:33

Tackar tackar!
Nu fungerar det med Filips lösning två inlägg ovan.

Tyvärr så fungerade inte din alls Kers, den skrev inte om url:en över huvud taget.

Rätt lösning nedan, men borde man inte kunna göra det med ett uttryck bara?
Citat:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exempel\.com$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.exempel\.com$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^exempel\.se$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]

Men förresten... i ovanstående rules... om man har en subdomän annan än www, skriver den inte om den då oxå? Iom att det står RewriteCond %{HTTP_HOST} ^exempel\.com$ [NC]

WizKid 2006-11-12 13:47

Detta är helt otestat men jag tror detta ska fixa allt inklusive subdomäner:
Kod:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exempel\.com$ [NC|OR]
RewriteCond %{HTTP_HOST} ^exempel\.se$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*).exempel\.com$ [NC]
RewriteRule ^(.*)$ http://%1.exempel.se/$1 [R=301,L]


Seattlegrunge 2006-11-12 14:03

WizKid... ska testa den när jag kommer tillbaka, men ett par frågor:

OR som du har sist i andra raden, är det för att du kör två "conditions" efter varandra och fungerar mao som ett vanligt ELLER?

Som jag förstår det på rad 5 så tar den t ex adressen demo.exempel.com och gör om den till demo.exempel.se. Är jag rätt på det?

Vad betyder NC förresten?

Många stupid frågor kanske, men jag är van vid IIS :)

WizKid 2006-11-12 14:47

Citat:

Ursprungligen postat av Seattlegrunge
OR som du har sist i andra raden, är det för att du kör två conditions efter varandra och fungerar mao som ett vanligt ELLER?

Precis
Citat:

Originally posted by -Seattlegrunge@Nov 12 2006, 15:03
Som jag förstår det på rad 5 så tar den t ex adressen demo.exempel.com och gör om den till demo.exempel.se. Är jag rätt på det?
Precis
Citat:

Ursprungligen postat av Seattlegrunge
Vad betyder NC förresten?

No Case har jag för mig. Det gör att jämförelsen görs utan att ta hänsyn till stora och småbokstäver.

Seattlegrunge 2006-11-12 22:22

Sorry WizKid, men det du skrev ovan fungerade inte, det gav 500 Internal Server Error :(

WizKid 2006-11-12 23:55

Hade råkat byta ut ett ,-tecken mot ett |-tecken. Detta är testat och fungerade för det jag testade.
Kod:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exempel\.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^exempel\.se$ [NC]
RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*).exempel\.com$ [NC]
RewriteRule ^(.*)$ http://%1.exempel.se/$1 [R=301,L]


Seattlegrunge 2006-11-13 00:11

Kanon! Nu fungerar det!

Taklagsfest ska ni ha och välkammad utter!

Spindel 2006-11-17 14:08

Citat:

Originally posted by WizKid@Nov 12 2006, 23:55
Hade råkat byta ut ett ,-tecken mot ett |-tecken. Detta är testat och fungerade för det jag testade.
Kod:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exempel\.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^exempel\.se$ [NC]
RewriteRule ^(.*)$ [URL=http://www.exempel.se/$1]http://www.exempel.se/$1[/URL] [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*).exempel\.com$ [NC]
RewriteRule ^(.*)$ http://%1.exempel.se/$1 [R=301,L]


Går det att göra så att den redirectar till http://domain.com, dvs utan WWW. Testade att ändra din fil som jag trodde, men det fungerade konstigt nog inte (utan redirectade fortfarande till WWW.

WizKid 2006-11-17 14:32

Antar att du inte ändrade så att www.exempel.com skickas till exempel.se

Detta är otestat men bör fungera:
Kod:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exempel\.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^www\.exempel\.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^exempel\.se$ [NC]
RewriteRule ^(.*)$ http://exempel.se/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*).exempel\.com$ [NC]
RewriteRule ^(.*)$ http://%1.exempel.se/$1 [R=301,L]


Spindel 2006-11-17 14:45

Får det tyvärr inte att fungera.

Seattlegrunge 2006-11-21 16:40

Lånar min egna gamla tråd så sparar vi på utrymmet i cyberrymden :P

Min ursprungliga fråga i tråden är besvarad och avklarad, men jag har lite "tilläggsfunderingar".

Om det nu är så att jag vill ha IDN-domäner som ska redirectas med samma .htaccess som ovan, ska jag då använda t ex domän.se i filen (antagligen inte) eller ska jag köra med xn--domn-noa.se? Alltså jag menar om domän.se ska pekas på domän.se

Gör jag då så här:

Kod:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xn--domn-noa\.se$ [NC]
RewriteRule ^(.*)$ http://www.doman.se/$1 [R=301,L]

eller så här:

Kod:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domän\.se$ [NC]
RewriteRule ^(.*)$ http://www.doman.se/$1 [R=301,L]

Jag kan inte tänka mig något annat än första alternativet. Dock kan jag inte prova ännu eftersom min IDN-domän ännu inte slagit igenom och jag är lite otålig :)

jonny 2006-11-21 16:59

Webservern känner bara till xn-- formen av namnet, så det är den du ska använda.

Seattlegrunge 2006-11-21 17:15

Misstänkt det. Tack Jonny!

vidir 2006-11-29 14:29

Högintressant tråd.. Liten fråga bara

Kan man styra exempel.com och exempel.net till olika undermappar i exempel.se
som ex. h**p//exempel.se/english och /deutch ?

och kanske även då om man vill redirecta den till en annan extern domän?


Alla tider är GMT +2. Klockan är nu 21:01.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson