Permalänk
Medlem

Clean URLs utan "id" med?

Har precis börjat pilla lite med mod_rewrite och skapat filter så jag just nu kan gå in på:
minsida.com/produkter/123/
Där 123 är IDt för en produkt. I stället för att ha det så skulle jag i stället vilja ha
minsida.com/produkter/kaffekokare/

Finns det något smidigt sätt att lösa detta på? Eller är det bara in och söka i databasen, efter produkten baserat på namnet? Det käns ju tämligen sämre optimerat att slå upp på namnet än ett unikt ID.

Och när jag ändå är i farten. Hur gör jag så att om någon försöker anropa produkter.php, så skickas personen till /produkter/?
Har fått det att matcha, men när den sedan matchar på ^produkter/ och ska skicka den till /index.php?p=produkter så failar den och försöker ladda /produkter/?p=produkter. Dvs, den matchar på .php även efter att den redicrectas... Jag vill bara att det ska matcha om det är URLen som är .php i webbläsaren.

Permalänk
Medlem
Skrivet av ChRiiLLe:

Finns det något smidigt sätt att lösa detta på? Eller är det bara in och söka i databasen, efter produkten baserat på namnet? Det käns ju tämligen sämre optimerat att slå upp på namnet än ett unikt ID.

Spara även en (unik) permalänk eller stub i databasen som du söker på, så blir det bättre. En sökning kommer du ju inte undan.

Permalänk
Testpilot

Och skapa ett index (unique) för fältet i databasen, då blir det ingen egentlig skillnad då ID-fältet annars också är indexerat. En sökning utan index är väldigt krävande i jämförelse med en indexsökning men på en egen privat hemsida med få besökare kommer du troligen inte märka nån skillnad.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]