Url herschrijven naar id + titel bericht probleempje
Roderick Velo
27/02/2011 21:42:10Op mijn site krijg ik straks allemaal berichten. Deze wil ik als volgt weer gaan geven: www.site.nl/categorie/subcategorie/dit-is-de-titel-12
Dat gaat allemaal eigenlijk wel goed. Als je nu een de categorie, subcategorie of de titel van het bericht aanpast in iets anders, dan zorgt het id (12) er voor dat je met een header() weer naar de juiste url structuur gestuurd wordt. Allemaal zoals ik wil.
Het gaat alleen fout als ik de gehele titel van het bericht weghaal en je dus de volgende url krijgt: www.site.nl/categorie/subcategorie/12. Het werkt dan ook niet meer omdat de structuur dan niet meer klopt volgende de htaccess code. Heeft iemand enig idee hoe ik ervoor kan zorgen dat je dan ook nog steeds naar de juiste structuur gestuurd wordt?
Mijn code is:
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)-([0-9]+)/$ vraag.php?cat=$1&subcat=$2&vraag=$3&bericht_id=$4 [L]
Zoals ik net al aangaf op zich logisch dat het niet werkt omdat de voorwaarde van htaccess niet meer klopt. Er zit tenslotte nog een ([A-Za-z0-9-]+) en een streepje (-) die nu niet in de url voorkomt. Hebben jullie enig idee hoe ik dit probleem kan oplossen?
Dat gaat allemaal eigenlijk wel goed. Als je nu een de categorie, subcategorie of de titel van het bericht aanpast in iets anders, dan zorgt het id (12) er voor dat je met een header() weer naar de juiste url structuur gestuurd wordt. Allemaal zoals ik wil.
Het gaat alleen fout als ik de gehele titel van het bericht weghaal en je dus de volgende url krijgt: www.site.nl/categorie/subcategorie/12. Het werkt dan ook niet meer omdat de structuur dan niet meer klopt volgende de htaccess code. Heeft iemand enig idee hoe ik ervoor kan zorgen dat je dan ook nog steeds naar de juiste structuur gestuurd wordt?
Mijn code is:
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)-([0-9]+)/$ vraag.php?cat=$1&subcat=$2&vraag=$3&bericht_id=$4 [L]
Zoals ik net al aangaf op zich logisch dat het niet werkt omdat de voorwaarde van htaccess niet meer klopt. Er zit tenslotte nog een ([A-Za-z0-9-]+) en een streepje (-) die nu niet in de url voorkomt. Hebben jullie enig idee hoe ik dit probleem kan oplossen?
Gewijzigd op 27/02/2011 21:46:16 door Roderick Velo
PHP hulp
22/12/2024 21:35:35Gewoon in php de router maken.
De hele url naar php sturen en die weer de boel laten ophalen of redirect doen.
De hele url naar php sturen en die weer de boel laten ophalen of redirect doen.
Roderick Velo
27/02/2011 22:07:17Dat zou ook kunnen ja, alleen heb ik het nog nooit op die manier gedaan. Altijd met .htaccess dus. Graag hoor ik dus als iemand daarvoor een oplossing heeft. :)
Sowieso klopt dat voorbeeld niet wat jij geeft, want er moet nog een extra slash achter de url. Verder vind ik jou regex ook niet echt heel mooi, aangezien je de id nog in de url hebt zitten (die wil je er juist uit hebben).