Køb et Amino Sponsorlink
Jeg har udfra forskellige .htaccess filer forsøgt at skabe min egen SEO venlige .htaccess fil, og er kommet frem til følgende. RewriteEngine OnRewriteBase /RewriteCond %{HTTP_HOST} !^avisabonnement-tilbud.dk$ [NC]RewriteRule ^(.*)$ http://avisabonnement-tilbud.dk/$1 [L,R=301] Options +FollowSymLinksRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} !^/index.phpRewriteCond %{REQUEST_URI} (/|\.php|\.html|\.xml|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]RewriteRule (.*) index.phpRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]Den redirecter alt www.avisabonnement-tilbud.dk til avisabonnement-tilbud.dk. Den videresender alle forespørgsler til min index.php fil (efter de regler der er sat op). Skide godt!Problemet opstår når en bruger anmoder om eksempelvis avisabonnement-tilbud.dk/xxx - så skal den reelt videresende til avisabonnement-tilbud.dk/xxx/ ... Det gør den ikke, og de to adresser bliver betragtet som to sider - og dermed dublicate content!Kan i hjælpe? Jeg vil helst have lavet løsningen i .htaccess.Med venlig hilsenCasper Schneider
Hej Casper
Min CMS løsning bruger nogenlunde samme Rewrite Rule, men det er index.php der tager sig af håndteringen af den url som bliver givet. Hvilket vil sige at det eneste htaccess filen gør er at se på om den fil/mappe som bliver requested eksisterer på serveren, gør den ikke det vil den sende brugeren videre til "hjemmesiden" altså index.php. og derfra skal index.php så tage brug af det der står i urlen.
den måde vi gør det på er meget simpel, man tager brug af den indbyggede funktion "explode". $mappeNavn = explode("/", $_SERVER["REQUEST_URI"]); Den den gør er at klippe i urlen ud fra hver skråstreg der findes.
Hvis man fx skrev www.domæne.dk/mappe1/ i urlenog echo'er $mappeNavn[1], vil den udskrive "mappe1", på den måde kan du arbejde videre med det, og evt hente data fra databasen ud fra dte der står.med hensyn til dit domæne med og uden www, så vil jeg anbefale dig at du i stedet får din udbyder til at sætte serveren korrekt op så den altid viser den som du vil have det, det giver nemlig ingen problemer hos mig. Om man tilgår min side med eller uden www, er ligemeget, den redirecter til den med www, selvom man skriver uden www.http://www.ktj-media.dk/web-og-grafisk-design-produkter/Webdesign/CMS-hjemmeside-content/http://ktj-media.dk/web-og-grafisk-design-produkter/Webdesign/CMS-hjemmeside-content/
Håber dette hjælper dig lidt på vej.MVH Kim
Udvikler af dansk SEO venligt CMS, som giver hjemmesiden det bedste udgangspunkt for synlighed på nettet.KTJ-Media.dk - Vi gør dig synlig! søgemaskineoptimering - Børnetøj og babytøj - Få hurtigere hjemmeside i dag
Hej Kim,
Jeg tror ikke du forstår mig spørgsmål.
Vedr. www. 301 redirect, så er min udbyder er surftown, og de gør ikke sådan noget. Man kan sikkert lave det et sted i deres kontrolpanel, men jeg syntes det er nemmere at have en .htaccess fil jeg bare kan rulle ud på et nyt domæne, og så spiller det hele.
Vedrørende det med PHP, så er det også sådan jeg gør. Og jeg kunne også godt lave løsningen, så jeg undgår overstående problem, men jeg vil igen hellere have det til at køre i en .htaccess fil.
Sådan bil jeg have den til at gøre:At når man skriver eksempelvis freelancephp.dk/seo så redirecter den automatisk til freelancephp.dk/seo/ altså med / til sidst. I dette tilfælde er det en mappe som eksistere.Problemet:Det vil jeg også have min htaccess fil til at gøre, så jeg undgår problemer med dublicate content!
Med venlig hilsenCasper Schneider
... og min 301 www redirect fungere fint med .htaccess filen, problemet er kun det jeg beskriver i overstående indlæg :-).
Ahh på den måde..
det kan du klare ved at indskrive dette:RewriteCond %{REQUEST_URI} !(.*)/$RewriteRule ^(.*)$ http://domæne.dk/$1/ [L,R=301]du skal selvfølgelig erstatte domæne med dit domæne.
Det er også klart nemmere at indskrive sådan noget i sin htaccess fil, men her skal du også huske at jo flere ting du putter i din htaccess, jo langsommere kommer din hjemmeside til at køre. Det er klart bedst at opsætte sådanne ting i opsætningen af serveren, dog kan dette jo nok ikke lade sig gøre hos udbydere som surftown. men så længe man ikke skriver enormt meget ind i sin fil, så sker der ikke noget ved det.
MVH Kim
glemte lige at sige at koden er testet på min server.ex: http://www.ktj-media.dk/web-og-grafisk-design-produkter/Webdesign
Det virker desværre ikke: Reglen skal kun virke, hvis jeg requester om noget som ikke har en fil endelse - hvis du forstår hvad jeg mener?
beder jeg om sitemap.html , så skal den ikke smide et / bag på.
Lige nu videresender den alt til /index.php/
hvor har du indsat koden henne?
Det er lokalt, men det skal køre på avisabonnement-tilbud.dk .Alle request bliver sendt til "/index.php/"...
Jeg mener hvor i din htaccess fil har du indsat koden?fordi det virker nemlig hos mig...Reelle filer på serveren:http://www.ktj-media.dk/testfilen.htmlhttp://www.ktj-media.dk/images/referencer/forside/tmbt.pngTager brug af rewrite på mapperhttp://www.ktj-media.dk/web-og-grafisk-design-produkter/WebdesignMVH Kim