Hvilket skyldes den måde min .htacess er lavet på. Kan den laves så man kun kan finde den på den originale URL, men den anden enten giver en 404 eller kan 301-redirectes til den originale?
Vil det være nemmere at lave en løsning, hvis jeg laver den om til at ende på .html istedet for / ?
Jeg tror du skal kigge lidt på canonical rewrites, så kan du vist godt slippe af med problemet.
Man laver jo også redirects fra www.example.com til example.com for at undgå duplicate content, og det er stort set det samme du skal lave i dette tilfælde. Du skal så ind og lave om for dine kategorier, eller hvordan du nu ordner indhold.
Du skal lave en RewriteCond der tjekker om det er en given kategori, og en RewriteRule der laver en 301 til den adresse du vil fokusere på.
Alternativt kan du manuelt lave 301 redirects fra det ene til det andet, blot ved at indsætte redirect 301 mauelt i din htaccess eller .conf fil.
Jeg abonnerer ikke på tråde, da jeg ikke gider tæppebombes med reklame-mails uden andet indhold. Send PM hvis du mangler opfølgning.
Din .htaccess bør føre alle kald til filer der ikke eksister til din index.php, hvor du så kan analysere url'en.
Jeg vil godt give dig ret i at problemet ligger i at min omskrivning er for simpel, mit problem er bare at jeg ikke ved hvordan jeg kan lave den mere avanceret :)
De enkelte artikler ligger ikke som filer, men bliver bare trukket ud af databasen med det id som står til sidst i url'en f.eks. "17".
Fed artikel, den er jo lige i øjet. Hvis vi nu tager udgangspunkt i denne artikel på mit site:
http://www.jacobworsoe.dk/google-and-china-20/
Den har i forvejen en kolonne i tabellen med id=20 men så skal den derudover også have en kolonne der f.eks. hedder URI som har værdien "google-and-china" som jeg så tjekker op imod at både id og URI passer med det der ligger i databasen for id=20 ?
Jeg kan dog ikke helt gennemskue om den også vil fange nedenstående som fejl og redirecte til den rigtige?
Disse to variabler kigger jeg så nærmere på i post.php ligesom i artiklen. Jeg har skrevet en / foran a-z for at den også kunne klare en fejl ala /foobar-17/foobar-20/ og ikke bare /fobar-20/
Jeg prøvede først at skrive den som a-zA-Z0-9\-/ men det virkede ikke. Bliver den også "nulstillet" af den \ eller hvad?
Jeg har desuden prøvet at lave denne løsning, som også gør det muligt at man kan skrive /foob!!ar-20/ og stadig bliver redirected til den rigtige: