htaccess Redirect 301 – Ultimativ dansk guide til redirect
Er det mon htaccess redirect eller PHP omdirigering, og hvornår skal man bruge vHost ? Det kan være svært at vide hvornår man skal redirecte på en måde frem for en anden.
Her i dette indlæg, som nok er danmarks største 301 redirect guide, viser jeg dig hvordan og hvornår det er bedst at bruge det ene frem for det andet. Forkerte omdirigeringer kan have store konsekvenser for serverens performance.
Ultimativ guide til danske redirects
Dette indlæg er en del af en større samling af tips og viden om redirect
I dag er det essentielt at have viden om, hvordan man implementerer en redirect og forstå, hvad en redirect indebærer, når man opretter en hjemmeside. Det er klogt at starte på den rette måde fra begyndelsen, da det forkerte valg kan have en større indvirkning end man måske forventer. Følgende råd og tips er rettet mod en bred vifte af hjemmesider på forskellige webhostingløsninger og har til formål at bidrage med professionel vejledning og informativ indsigt.
Dette er danmarks største guide med alt du behøver vide om 301 redirect på dansk
301 redirect checker – Omdirigerer din url korrekt?
Ved du om din hjemmeside omdirigerer korrekt? og ved du om der omdirigeres direkte til den nye url eller gennem flere omdirigeringskæder? det kan du herunder finde ud af. Udfyld med den url du vil teste, og du får svaret.
Hvorfor udføre omdirigeringer?
Hvorfor udføres omdirigeringer? Der kan opstå behov for at ændre URL-strukturen på ens hjemmeside, slette eller flytte sider, eller endda skifte domænenavnet. Ved hjælp af omdirigeringer kan man sikre, at både brugere og søgemaskiner bliver opmærksomme på disse ændringer. Hvis du for eksempel har flyttet en side, er det ikke bare en god idé, men et nødvendigt skridt at omdirigere al trafik fra den gamle URL til den nye URL. Dette sikrer, at brugerne havner det rette sted, og at eventuel værdi (linkværdi) følger med til den nye URL.
Det er derfor afgørende, at man udfører en korrekt omdirigering og ikke bare visuelt omdirigerer brugere og andre besøgende. Man bør informere brugerens browser, og især søgemaskinerne, om at der forekommer en omdirigering. Hvis omdirigeringen udføres korrekt, sker dette automatisk. Dog har jeg set mange tilfælde, hvor folk har brugt en JavaScript-omdirigering eller meta-refresh, men stadig fejlagtigt tror, at dette er en ægte 301-omdirigering. Javascript eller HTML redirect, er ikke en reel redirect.
Det vigtigste element er at tilføje de såkaldte headere, som f.eks. “301 Moved Permanently”. Det er denne header, der tydeligt angiver, at en side er blevet flyttet til et andet sted.
HTML Redirect og Javascript Redirect
Begge typer omdirigeringer, er nogle man vil kunne bruge i forskellige tilfælde. Man skal dog være obs på at det ikke anses som reelle omdirigeringer der fortæller browser og søgemaskiner at en side er flyttet permanent.
HTML redirect / HTML omdirigering
HTML / META redirect kan bruges, hvis man fx gerne vil omdirigere brugeren, uden at browseren registrere at siden er flyttet eller lign. Det kan fx være i tilfælde af at du har en webform, og når den er udfyldt vil du lige vise en hurtig besked eller tekst. Efter nogle sekunder bliver brugeren så omdirigeret til en anden side, eller siden opdaterer sig selv. Det kan være nyttigt som en handlingsbaseret omdirigering.
Meta refresh ser ud sådan:
<meta http-equiv="refresh" content="3"; url="ny webadresse">Og placeres imellem head tags i html koden. Det den gør er at den opdaterer siden med urlen efter 3 sekunder.
Javascript redirect
Ligesom Meta omdirigering, kan javascript omdirigering også bruges til samme formål. Der er faktisk lige så mange formål og muligheder. Og det er reelt kun fantasien der sætter grænser. Forskellen er reelt bare at omdirigeringen laves med javascript. Det betyder også at google og andre søgemaskiner samt browseren, heller ikke registrere dette som en reel omdirigering.
her er et eksempel på en javascript omdirigering, hvor der først vises en besked, for derefter at omdirigere brugeren til en ny side efter 3 sekunder:
<div id="besked"></div>
<a href="#" onclick="omdirigering()">Omdiriger ved klik</a>
<script>
function omdirigering () {
setTimeout(nyURL, 3000);
var besked = document.getElementById("besked");
besked.innerHTML = "Siden omdirigerer om 5 sekunder, tak for besøget";
}
function nyURL() {
document.location.href = 'https://kim-tetzlaff.dk';
}
</script>Valg af metode til omdirigering af hjemmesider
Her tænker jeg ikke så meget på om det er 301 eller 301 redirect du skal lave, men mere om du skal gøre det via, htaccess, vHost, PHP eller WordPress
Ja hvilken en skal du vælge når vi snakker om redirects? Jeg har skrevet om det mange gange. Men hurtigt fortalt kommer det an på hvordan man ser på det og hvilke muligheder du selv har eller din hjemmeside har. Ud over det har de hver især sin indflydelse på hjemmesidens performance og hastighed, hvor htaccess metoden rent faktisk har den største indflydelse.
Så hvad skal man vælge? Man skal selvfølgelig vælge det man har det bedst med, men jeg personligt ville til hver en tid vælge at bruge vHost eller PHP. Det kommer an på hvad det er jeg vil opnå. Htaccess vil altid være min sidste udvej.
Hvordan redirecter man så?
Reelt er det meget nemt, men der er alligevel nogle ting man skal tage højde for, og dette indebære blandt andet at benytte sig af de rette måder at omdirigere på. Du har allerede læst hvad en omdirigering er, så er det tid til at du finder ud af hvilke typer der findes til brug i vHost og htaccess.
redirect 301
Redirect bruges når man har enkeltstående sider man gerne vil have omdirigeret til en anden specifik url eller web-adresse. Det er denne du som udgangspunkt skal bruge da den på server niveau ikke har den store indflydelse på performance, og den er også utrolig nem at bruge i de fleste tilfælde.
Den ser ud sådan via htaccess:
Redirect 301 /gammel/fil.html https://kim-tetzlaff.dk/ny/fil.htmlRedirectMatch via htaccess
RedirectMatch fungerer og har samme performance som sin lillebror Redirect, forskellen her er bare at man kan benytte sig af Regular Expressions (regex), hvilket gør at man kan lave langt mere avancerede filtreringer af de url’s der skal omdirigeres. Det kan måske være at du har 20 sider du gerne vil omdirigerer, alle ligger i samme mappestruktur på hjemmesiden, men du gider egentlig ikke skulle til at skrive 20 linjer kode, for at opnå det samme du kan med 1 linje.
Yderligere kan man overordnet sige, at hvis du i en rewrite kun bruger RewriteRule i en redirect, så kan du lige så godt bruge RedirectMatch i stedet for, det er langt hurtigere og belaster betydeligt mindre.
RedirectMatch ser ud sådan:
RedirectMatch 301 (.*)$ https://kim-tetzlaff.dk$1Rewrite via htccess
Rewrites er et stort modul og kræver derfor også meget af serveren der skal fortolke dem. Lad mig allerede nu sige det, så vidt det er muligt, undgå rewrites – Der findes altid bedre løsninger.
Men med rewrites kan du se på rigtig mange parametre, lave regex, tjekke domæne, referer, filer, mapper og meget meget mere. Det er også derfor at det i mange tilfælde ikke skal være vejen man går når man vil lave en simpel omdirigering, da modulet ganske simpelt er alt for stort til så små opgaver.
Et godt eksempel på at det har en stor indflydelse, kan du læse om her, men hurtigt fortalt har en lille kode som den WordPress indsætter for sine permalinks (brugervenlige url adresser), en så stor indflydelse at performance bliver 15% dårligere. Så man skal altid prøve at undgå brugen af rewrites hvis det er muligt. Men bruger du det skal du huske altid at aktivere mod_rewrite, hvilket du gør ved at skrive linjen “RewriteEngine On” før dine RewriteRules og RewriteCond.
Rewrites ser ud sådan: (denne er taget fra WordPress)
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPressSom du nok kan se, er der stor forskel på hvad man skal gøre og hvilken indflydelse det har på ens site, men ved man det, ved man også hvor man skal starte, og hvorfor.
Regular expressions (Regulære udtryk)
Et regulært udtryk, er et yderst avanceret matchingsprog, der bruges til at sammenligne og finde tekststrenge. Man kan på et lavt niveau sammenligne det med tekstprogrammer som word, hvor du fx kan lave en søg og erstat på ord og sætninger. Lærer man at beherske dette sprog, så er der næsten ingen begrænsninger for hvilke mønstre du kan sammensætte for at finde lige netop det du skal i din Rewrite eller RedirectMatch.
Så hvis du gerne vil lave dine redirects selv, hvilket jeg formoder når du læser dette indlæg, så vil det være en god ide at sætte sig ind i regex, som minimum hvad de forskellige tegn gør og ikke gør.
På de andre faner, kan du se nogle eksempler på tegn og hvordan man kan bruge dem.
RegEx beskrivelse og eksempler
| Tegn | Beskrivelse og eksempler |
|---|---|
| . | Punktum Matcher et enkelt tegnk.m matcher kim, kam, kom, kpm, kum etc. |
| + | Gentager det forrige match en eller flere gangek+ matcher k, kk, kkk etc. |
| * | Gentager de tidligere match nul eller flere gange.k* matcher det samme som k+ matches, men også hvis strengen er tom |
| ? | Gør matchen valgfri.farver? matcher både farve og farver |
| ^ | Kaldes et anker, og matcher begyndelsen af strengen^kim matcher en streng der begynder med kim |
| $ | Også et anker, fortæller at det er slutningen af strengen.kim$ matcher en streng der ender på kim. |
| ( ) | Grupper flere tegn i en enkelt enhed, og gemmer match til brug i en reference.(kim)+ matcher kimkim – fordi + her bruges på gruppen. |
| [ ] | En tegn klasse – matcher et af de tegn der står ik[ioa]m matche kim, kam eller kom. |
| [^ ] | Negativ tegn klasse – matcher ethvert tegn, der ikke er skrevetk[^i]m matcher kom eller kam men ikke kim |
| {} | Match et antal af forgåendea{3} matcher aaa. eksakt 3a{,3} matcher a, aa, aaa. op til 3a{3,} matcher aaa,aaaa,aaaaa etc. fra 3 og opa{3,6} matcher aaa, aaaa, aaaaa, aaaaaa. fra 3 til og med 6 gange |
| \s | Matcher et white space (mellemrum)Kim\sTetzlaff matcher Kim Tetzlaff. |
RegEx kombinationer
Jeg vil her vise nogle eksempler på hvordan man kan bruge regex i forskellige situationer, for at finde frem til bestemte ting i sine strenge. når vi har med omdirigeringer at gøre vil strengen du leder i typisk være url, men det kan også være domæne, referer, fil og meget andet.
| Tegn | Beskrivelse og eksempler |
|---|---|
| ([0-9]+) | Skal matche og gemme, hvis der er et eller flere tal |
| ([a-z]+) | Skal matche og gemme, hvis der er et eller flere små bogstaver |
| ([a-zA-Z]+) | Skal matche og gemme, hvis der er et eller flere små og store bogstaver |
htaccess redirect eller vHost redirect?
Herunder finder du en del situationer hvor man benytter sig af omdirigeringer. og jeg prøver at komme ind på den bedste og hurtigste metode, især set i forhold til belastning af serveren og dens performance.
Redirect 301 – Klassisk htaccess redirect
En klassisk omdirigering er den omdirigering hvor man har en url og en destination. Det betyder at man rent faktisk bare ser på om en given gammel url bliver kaldt, gør den det, så omdirigerer man over til den nye url.
Den ser ud sådan:
Redirect 301 /gammel/fil.html https://kim-tetzlaff.dk/ny/fil.htmlOvenstående metode er ret nem, men omfattende når man har mange sider man gerne vil redirecte, men omvendt skal man også tænke på at den er utrolig hurtig afviklet på serveren og belaster nærmest ikke performance. Så den er absolut god at have ved hånden.
Dens storebror “RedirectMatch” er lige så god og hurtig, forskellen er bare at du her kan benytte dig af regex (regular expressions). Ved du ikke hvad det er, er det at du fx kan sige alle urls som indeholder navnet (Kim), skal omdirigeres til en given side. altså kan man lave langt mere avancerede redirects som skære flere urls over en kamp.
Det kunne se ud sådan:
RedirectMatch 301 ^/gammel/(.*)$ https://kim-tetzlaff.dk/ny/$1Men husk at passe på, da du kan tage mere med end du lige ville når du bruger regex, og samtidig skal du kende systemet som ligger bag, da der findes mange måder at bruge det på som jeg også vil komme ind på i nogle af de andre punkter.
Redirect wordpress – SEO wise
WordPress er et af de mest SEO venlige open source systemer på markedet, men det har alligevel sine huller, som man lige så godt kan gøre noget ved. Fx har wordpress endnu ikke gjort noget ved manglende skråstreg for enden af webadresser. Så kan det godt være du tænker, jamen der er jo canonical tag på som netop sørger for at vise søgemaskiner at der skal være en skråstreg. Men problemet er bare at canonical tag kun er et plaster på såret. Man bør derfor sørge for både i forhold til indeksering, men også linkværdi, at der bliver omdirigeret til urlen med skråstreg som er den standard wordpress har. Det gør man sådan:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^(.*)\.(.*)
RewriteCond %{QUERY_STRING} =""
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ http://%{HTTP_HOST}/$1/ [L,R=301]Redirect kun forside
Kun at omdirigere forsiden, kan give nogle problemer som vi lige så godt kan nævne her. Det man skal være opmærksom på er om man laver brugervenlige urladresser eller ikke, da fx WordPress permalink metoden, laver en rewrite, som man lige skal tage hensyn til:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPressMen ved man at man lige skal tage hensyn til det, ja ved man også hvilken metode man skal bruge til formålet.
RewriteEngine On
RewriteRule ^$ https://kim-tetzlaff.dk/ [L,R=301] ^ Betyder starter med – hvilket i dette tilfælde vil sige, starter med ingenting.
$ Betyder at strengen afsluttes
Redirect alle sider undtagen nogle få
Der er flere måder at løse denne på, og det kommer i grunden an på situationen. og jeg vil her vise nogle eksempler på hvordan du kan løse forskellige situationer.
Der er jo den klassiske metode, hvor man udvælger dem der skal redirectes og hvor de skal redirectes til. Så vil det nemlig kun være dem du har skrevet der bliver redirected.
Redirect 301 /gammel/fil1.html https://kim-tetzlaff.dk/ny/fil1.html
Redirect 301 /gammel/fil2.html https://kim-tetzlaff.dk/ny/fil2.html
...Men har du fx en mappe du gerne vil redirecte over til en side, eller måske til samme urls bare i en anden mappe, så skal du benytte dig af RedirectMatch.
RedirectMatch Eksempler: Ovenstående kunne blive løst med en RedirectMatch, selvom det er noget usandsynligt at scenariet vil se ud sådan i virkeligheden. Du vil stadig få en ide om hvordan du kan bruge RedirectMatch.
RedirectMatch 301 ^/gammel/(.*)?$ https://kim-tetzlaff.dk/mappe/$1^/mappe/(.*)$ Betyder hvis urlen starter med “/gammel/” og der muligvis kan være 0 eller flere tegn efter, så skal den redirectes.
Redirect Fra et domæne til et andet
Det at redirecte fra et domæne til et andet, er meget nemt, så længe man forstår situationen man er i lige nu. der er nemlig flere måder at løse det på.
Har du fx flere webhoteller, hvor du gerne vil redirecte de domæner der er tilknyttet de forskellige webhoteller, kan du bruge RedirectMatch til at omdirigere fra det ene domæne til det andet. Det er dog vigtigt at htaccess filen er placeret på det webhotel hvorfra du vil omdirigere, da den tager ALT og omdirigere til det nye domæne:
RedirectMatch 301 (.*)$ https://kim-tetzlaff.dk$1(.*)$ Find og gem hele urlen der bliver efterspurgt
$1 udskriv den gemte url
Du kan også bruge:
Redirect 301 / https://kim-tetzlaff.dk/Peger domænet derimod på samme webhotel som der hvor du vil redirecte over til, skal du bruge en anden metode, da ovenstående, nemlig også vil have indflydelse på det domæne du prøver at redirecte til, og vil derfor lave det man kalder et redirect loop som aldrig bliver færdigt. Her skal du i stedet se på en rewrite til formålet.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^gammelt-domæne.dk$ [NC]
RewriteRule ^(.*)$ https://kim-tetzlaff.dk/$1 [L,R=301]Det vi gør her er at bruge det der hedder en RewriteCond, som sådan set er en form for regel, der skal være opfyldt, før RewriteRule slår igennem. og i dette tilfælde spørger jeg om hostnavnet (domænenavnet) starter med (^) gammelt-domæne.dk, og gør domænet det, ja så vil den omdirigere til kim-tetzlaff.dk
Men hvad så med forespørgelser på domænet med www, eller andre subdomæner?
jo hvis du ændre lidt i RewriteCond, sådan at den også ser på om domænet har en sub (xxx.gamelt-domæne.dk), så skulle der være taget hånd om den del også.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.)gammelt-domæne.dk$ [NC]
RewriteRule ^(.)$ https://kim-tetzlaff.dk/$1 [L,R=301]Redirect fra et domæne til en andens forside
Tager vi eksemplet fra før og bruger her, vil det komme til at se ud som nedenfor.
Rewrite:
Bruges i tilfælde af at domænet peger på hoveddomænets webhotel.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)gammelt-domæne\.dk$ [NC]
RewriteRule ^(.*)$ https://kim-tetzlaff.dk/? [L,R=301]RedirectMatch:
Bruges hvis domænet ligger på et andet webhotel end hoveddomænet.
RedirectMatch 301 (.*)$ https://kim-tetzlaff.dk/Redirect 301 til hoveddomænet fra andre domæner
I rigtig mange tilfælde, kan man have mere end et domæne der peger på et webhotel, og så er det smartere og bedre for performance, at man prøver at tilgodese alle domænerne med så lidt kode som muligt. som du jo kunne læse tidligere i indlægget, så har rewrites nemlig stor betydning for en hjemmesides performance.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^kim-tetzlaff\.dk$ [NC]
RewriteRule ^(.*)$ https://kim-tetzlaff.dk/ [L,R=301]Det vi gør her er at sige, hvis ikke (!) domænet starter med (^) kim-tetzlaff.dk, så skal vi redirecte til kim-tetzlaff.dk.
Redirect en mappe til en anden mappe
Omdiriger alle sider som ligger i en mappe, til et andet domæne, med samme urlstruktur
RedirectMatch 301 ^/mappe/(.*)$ https://kim-tetzlaff.dk/mappe/$1^/mappe/(.*)$ Betyder hvis urlen starter med “/mappe/” og der muligvis kan være 0 eller flere tegn efter, så skal den redirectes.
Skift filendelse med redirect
At skifte filendelsen (file extention), er utrolig nemt. det eneste du skal sørge for er at få fat i urlen uden endelse, og selvfølgelig gemme den så du efterfølgende kan udskrive den, og tilføje den fil endelse du gerne vil have i stedet for.
RewriteEngine On
RewriteRule ^(.*)(\.php)$ https://kim-tetzlaff.dk$1.html [L,R=301]Redirect flere mapper på en gang
Hvis du gerne vil redirecte flere mapper, kan du enten bruge den forgående metode hvor du redirecter en mappe til en anden, eller du kan bruge denne metode hvor du får fat i alle de mapper du vil, i en omskrivning.
RedirectMatch 301 (mappe1|mappe2|etc)/(.*)\.(.*)$ https://kim-tetzlaff.dk/ny/$2.$3eller hvis du gerne vil redirecte til samme mappestruktur op et andet domæne, kan du også gøre det:
RedirectMatch 301 (mappe1|mappe2|etc)/(.*)$ https://kim-tetzlaff.dk/$1/$2Redirect en mappe med specifikke tegn
nogen gange kan det være nødvendigt at lave et match kun på bogstaver, tal eller noget andet, hvis fx man er sikker på at mapperne eller filerne man vil redirecte kun indeholder det, og man ikke vil redirecte filer eller mapper som indeholder andre tegn og tal. Det regex man skal bruge ser ud sådan: [a-z], men den tager kun hensyn til små bogstaver, vil man have både store og små bogstaver skal man skrive [a-zA-Z].
Mapper skifter til ny mappe:
RedirectMatch 301 ^/[a-zA-Z]+/(.*)\.html$ https://kim-tetzlaff.dk/ny/$1.htmlFra bogstavfil til mappe:
RedirectMatch 301 /([a-zA-Z]+)\.html$ https://kim-tetzlaff.dk/$1/Redirect kun tal
RedirectMatch 301 ^/[0-9]+/(.*)\.html$ https://kim-tetzlaff.dk/ny/$1.htmlTal, bogstaver og måske en bindestreg
Den ligner de ovenstående regex, den store forskel er at jeg har skrevet en bindestreg og et spørgsmålstegn bagefter, hvilket betyder at bindestregen kan måske være der.
RedirectMatch 301 ^/[0-9a-zA-z-?]+/(.*)\.html$ https://kim-tetzlaff.dk/ny/$1.htmlFjern Query fra url
Det er tit sådan at man gerne vil fjerne query fra urlen, da denne kan skabe dobbelt indhold. Det er forholdvist nemt.
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*)$ /$1? [R=301,L]Der hvor det kan gå galt er hvis der er noget på hjemmesiden, der rent faktisk skal bruge en query til noget, dette kan fx være administrationen på et site, reklamer, affiliate links mm. Her skal man så ind og tage hensyn til det, og fortælle at den rent faktisk ikke skal fjerne den, hvis en query er sat.
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{QUERY_STRING} !^query=.*
RewriteRule ^(.*)$ /$1? [R=301,L]Man kan også gør det sådan at hvis der er tale om bestemte mapper, skal den heller ikke fjernes
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{REQUEST_URI} !^/administration.*
RewriteRule ^(.*)$ /$1? [R=301,L]Redirect query til brugervenlig url
Men kommer tit ud for at man lige skifter sin gamle metode ud med en ny, dette skete især for nogle år siden hvor man stadig brugte querys i urlen for at bygge hjemmesiden på dynamisk vis. Men i dag laver man jo dynamiske sider ved at benytte sig af brugervenlige urladresser, og PHP eller serversidekoden, tager sig så af at behandle og finde den rette side.
Men de gamle sider skal jo omdirigeres.
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/index\.php$
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^(.*)$ https://kim-tetzlaff.dk/page/%1.php? [L,R=301]Redirect hvis query indeholder specifik tekst
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^(.*)$ https://kim-tetzlaff.dk/? [L,R=301]Fjern skråstreg fra url (trailing slash)
Det kan nogen gange være nødvendigt at fjerne den sidste skråstreg i en url, fordi det tit er sådan at hjemmesider viser det samme indhold på urlen med og uden slash i enden, hvilket skaber dobbelt indhold.
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)/$
RewriteRule ^(.*)/$ https://kim-tetzlaff.dk/$1 [L,R=301]Det samme gælder tilføjelse af skråstreg i enden.
RewriteEngine On
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ https://kim-tetzlaff.dk/$1/ [L,R=301]Det ses forholdsvis tit at der generere urls med flere skråstreger efter hinanden, hvilket også her skaber dobbelt indhold. Så det bedste er at redirecte. Både for at brugeren hvis der linkes, linker til det rette indhold og med rette url. Men også for at linkjuice ryger det rette sted hen.
RewriteEngine On
RewriteRule ^(([^/]+/)*)/+(.*)$ https://kim-tetzlaff.dk}/$1$3 [R=301,L]Http https redirect (Altid SSL)
Omdirigering af alle urls når du skifter fra HTTP til HTTPS er utrolig vigtigt, du mister mange placeringer hvis du glemmer det og dermed mange besøgende.
Dette eksempel kan bruges i din htaccess fil:
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]404 redirect htaccess
404 not found, er reelt en header der sættes når en side på ens hjemmeside ikke kan blive fundet. Det fortæller blandt andet google at den side skal de ikke indeksere. Har du i stedet slettet en side med vilje, bør man faktisk bruge den der hedder 410 Gone, som reelt betyder at den er slettet permanent.
I mange tilfælde ville man dog lave en 301 omdirigering til en ny side, da den gamle ofte havde noget værdi man gerne vil bibeholde på siden.
Men vil du gerne lave en redirect til enten 404 eller 410, kan du gøre følgende:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/search/.* [OR] #Alle sider under mappen Search
RewriteCond %{QUERY_STRING} ^s=.* # eller alle querys hvor s er sat
RewriteRule .* - [R=410,L]Flere er undervejs
Jeg vil udvide denne liste konstant, så kom endelig tilbage hvis du gerne vil følge med og lære noget om omdirigeringer.
Fejl du kan opleve ved at arbejde med redirect
denne webside har et loop ved omdirigering
Det betyder at der er en omdirigering på din hjemmeside som først omdirigere til en url, og den url omdirigere så tilbage til den anden url. Omvendt kan det også være at du har en omdirigering som omdirigere til sig selv.
Spørg endelig
Har du en redirect du ikke lige ved hvordan du skal lave, eller sagt på en anden måde. Har du en situation du ikke helt ved hvordan du skal redirecte, så tøv ikke, skriv en kommentar, eller en mail, så skal jeg gøre alt for at besvare.
Hej Kim. Jeg er gået i gang med at seo optimere min køreskole hjemmeside. Jeg synes LS er lidt langsom hvilket jeg også kan se,…
Læs mereHej Albert, Ja, jeg har samarbejdet med Madbanditten i mere end 10 år nu, og vi samarbejder stadig den dag i dag. Dette er som…
Læs mereHej Kim. Spændende case at læse om. Jeg har lige et enkelt spørgsmål - der står du har samarbejdet med Madbanditten.dk i mere end 10…
Læs mere[…] Optimering af webshop er en kontinuerlig proces, der kræver opmærksomhed på detaljer og en forståelse for, hvad der driver kundeadfærd. Ved at undgå de…
Læs mereJeg har skam uddybet lidt mere på andre indlæg. Men man kan sige at alle tingene som google tester, reelt har indflydelse, da de alle…
Læs mere