Avatar billede thomaskramer Juniormester
09. november 2017 - 18:27 Der er 12 kommentarer og
1 løsning

Redirect 301 i Magento Multi Store

Hej Eksperter,

Jeg har en Magento Multi Store løsning med 6-8 webshops kørende.

To af netbutikkerne har de samme produkter, men har forskellige urls.

Den ene butik skal lukkes ned, og urls skal derfor redirectes til den anden shop.

Eksempel.
https://kamma.dk/telt.html skal redirectes til https://luffe.dk/telte/telt.html
https://kamma.dk/gryder/sovsegryde.html skal redirectes til https://luffe.dk/sovsegryde.html

Kan jeg gøre det i htacces?

Jeg er villig til at skrive hver enkelt redirect manuelt, hvis jeg bare er sikker på at jeg kan redirect præcist dertil hvor jeg ønsker det.

Jeg har kigget på dette:

Redirect 301 /gammelside.html http://www.nyside.dk/side..html

Men der mangler jo en angivelse af hvilken domæne url kommer fra?

Altså jeg vil jo gerne skrive den absolutte URL istedet for den relative.

Er der nogen der kan hjælpe?

Ja, jeg er novice :-)
Avatar billede acore Ekspert
09. november 2017 - 20:04 #1
Nu kender jeg ikke magento multistore, men hvis du sætter www.densidederskallukkes.dk til at pege på et nyt tomt directory på din server med en .htaccess fil med følgende indhold

redirect 301 / http://www.densidederskalredirectestil.dk/

så vil jeg mene at det spiller uden videre - uanset din magento muttistore
Avatar billede showsource Seniormester
09. november 2017 - 20:51 #2
Jeg ville gøre det i DNS
Avatar billede thomaskramer Juniormester
10. november 2017 - 04:57 #3
Hvordan gør man det i DNS?

Og har det fordele eller ulemper rent SEO teknisk?
Avatar billede showsource Seniormester
11. november 2017 - 14:59 #4
Ja ser du ....
:O)
Har ikke rodet med det i lang tid, men jeg har malerhjælp.dk og malerhjaelp.dk
Og i DNS er malerhjælp.dk sat til at redirecte enhver request til malerhjaelp.dk
Og kan sgutte huske mit password til gratisdns.dk lige nu, men hvis du selv har DNS adgang kan du garanteret se dig ud af det
Avatar billede showsource Seniormester
11. november 2017 - 15:13 #5
Der er jo ingen grund til at bruge webhotel for at redirecte til et andet domain. Suger på serveren, selv om det måske kun er lidt.....
Men:

RedirectMatch 301 (.*) http://nytdomain.dk/$1

i roden af domain som skal lukkes
Avatar billede acore Ekspert
11. november 2017 - 15:26 #6
Jeg mener ikke at en CNAME i DNS medfører en egentlig redirect. Så det er på flere måder en dårlig løsning - hvis det altså var det showsource mente. Se fx https://www.namecheap.com/support/knowledgebase/article.aspx/9604/2237/types-of-domain-redirects--301-302-url-redirects-url-frame-and-cname

Det rigtige ud fra et SEO synspunkt er at gøre som jeg foreslår i #1 og som showsource også skriver i #5 - brug 301 redirect.
Avatar billede Zochko Juniormester
13. november 2017 - 19:49 #7
Hvis jeg læser det du skriver rigtigt, så vil du gerne beholde den sidste del af URL og så bare udskifter domæne navnet ik?

Jeg har fundet lynhurtigt en mulig løsning:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]

Ovenfor kan du se 2 "RewriteCond" (conditions) og hvis de matcher skal den benytte sig af "RewriteRule".

Nu kan jeg se at du ikke har 100% ens stier :)
Så derfor kan du ikke bare tage koden og benytte den (out of the box) men, du kan tilføje en ekstra "RewriteCond" så det matcher dit behov.

Reference til ovenstående eksempel:
http://www.inmotionhosting.com/support/website/redirects/setting-up-a-301-permanent-redirect-via-htaccess

Reference til at fjerne en del af URL:
https://stackoverflow.com/questions/7710411/how-to-remove-part-of-url-with-htaccess

Håber det hjælper dig videre :)
Avatar billede acore Ekspert
13. november 2017 - 20:05 #8
#7 skriver "Hvis jeg læser det du skriver rigtigt, så vil du gerne beholde den sidste del af URL og så bare udskifter domæne navnet ik?" og det opnås med en linie redirect, som anvist i #1. Så hvorfor alt det andet?
Avatar billede thomaskramer Juniormester
16. november 2017 - 14:08 #9
Det hele bunder i at jeg er i tvivl om hvordan man bør udføre disse 301s.

Skal man redirecte hver enkelt specifikke url til et nyt specifikt url:

ex gammelsite.dk/varenavnet -> nysite.dk/vare

Eller bare sende alle gamle urls til det nye site.

redirect 301 / https://nysite.dk

Jeg er bare træt af at linke en specifik vare på det gamle site, over til forsiden på det nye site.

Det er ikke særligt brugervenligt.

Men om det er overkill at redirecte hver enkelt url - og hvordan man gør - ved jeg ikke
Avatar billede thomaskramer Juniormester
16. november 2017 - 14:10 #10
Jeg vil igen lige forklare hvorfor jeg ikke bare kan bruge en standard redirect.

Jeg bruger Magento i Multi store setup.

Det betyder at 7-8 butikken bruger samme htaccess-fil.

Derfor skal det deklareres hvilken shop der skal redirectes fra OG til. Ikke kun til, som standard redirects gør.
Avatar billede thomaskramer Juniormester
16. november 2017 - 14:29 #11
Det jeg i bund og grund gerne vil have er:

redirect 301 https://gammelsite.dk/gammelside1 https://nysite.dk/nyside1
redirect 301 https://gammelsite.dk/gammelside2 https://nysite.dk/nyside2
redirect 301 https://gammelsite.dk/gammelside3 https://nysite.dk/nyside3

Men det mås man ikke - som jeg forstår det - i htaccess.
Avatar billede Zochko Juniormester
16. november 2017 - 14:46 #12
#8, den løsning i svar #1 tager da ikke nogen URL parameter med i enden ?
Hvilket vil sige den rammer roden af det site der peges på med mindre den er sat absolute.
Ydermere så er #7 mere fleksibel og giver mulighed for at strippe URL så foreksempel denne url "https://luffe.dk/telte/telt.html" bliver omdannet til "https://kamma.dk/telt.html"
Uden at @thomaskramer behøver at tænke mere over det. 

RewriteCond %{HTTP_HOST} ^(www\.)?luffe.dk [NC,OR]
RewriteRule ^(.*)$ http://kamma.dk/$1 [L,R=301,NC]

// $1 indeholder så /telte/telt.html
Den kan du modificere som du har lyst.
Avatar billede acore Ekspert
16. november 2017 - 15:20 #13
#10/#11: Som skrevet i #1 - den side, der skal lukkes, skal pege på et NYT tomt direcctory på din server, hvor din nye htaccess fil ligger. Opsætningen til det laver du på dit web-hotel/server. Så vidt jeg kan se, opnår du præcis det du beskriver i #11,

#12: Jo den gør. Eksempel: I htaccess filen for www.rockartscandinavia.se står

redirect 301 / http://www.rockartscandinavia.com/

Prøv det selv
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

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