Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Joomla/Apache] SEF-urls forwarden op non-SEF query_sting?

Pagina: 1
Acties:

  • Plague
  • Registratie: Januari 2001
  • Niet online
Beste,

Ik heb een vrij grote Joomla site draaien, die ik ga 'verdelen' over meerdere domeinnamen: elke sectie krijgt een eigen domein, om het maar even eenvoudig te omschrijven.

Het probleem is dat het niet alleen veel content is, maar ook nog eens is verdeeld over meerdere talen. Daardoor zit ik met de situatie dat ik +- honderden, zo niet duizenden 301-redirects moet maken. Tenzij... ik gebruik kan maken van de originele 'Itemid=XXX'-menuknoppen.
Joomla maakt namelijk gebruik van mod_rewrite om URL's te herschrijven van mijn_domein.com/index.php?option=bla_bla_bla&id=bla_bla_bla&Itemid=XXX naar mijn_domein.com/autos/bmw/335i/nieuws, waarbij bijvoorbeeld autos en bmw een menuknop is.

Als ik de menuknoppen zou kunnen redirecten, zou ik al een gelukkig man zijn. Maar: kan dit? Want de aangeroepen URLs (die in zoekmachines zijn geindexeerd) zijn de laatste variant: /autos/bmw/bla bla.

Nu heb ik al vanalles geprobeerd met RewriteMatch en dingen als:
RewriteCond %{QUERY_STRING} ^Itemid=XXX
RewriteRule ^(index\.php)$ http://www.domein.nl/bla/ [R=301,L]

Maar ik moet eerlijk bekennen dat ik eigenlijk niet eens weet hoe je die querystring uit zou kunnen lezen (en dus kijken of hij intern op Apache-niveau uberhaupt nog ooit met dat itemid werkt) om te kijken of mijn oplossing uberhaupt kans van slagen heeft.

Zo niet, wat zijn dan de mogelijke alternatieven? Het lijkt mij dat ik toch echt niet de enige ben die ooit een website uit elkaar trekt. ;-)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Waar hoort mijn topic? Dit heeft niks met programmeren te maken en al helemaal niet met softwareontwerp en -architectuur.

SEA>>WSS

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Plague
  • Registratie: Januari 2001
  • Niet online
Excuses.

Inmiddels ben ik een klein stapje verder. Het mag wat mij betreft ook op een iets andere manier worden doorverwezen. Voorbeeld van wat ik nu heb:

code:
1
2
RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ .*/autos [NC] 
RewriteRule . http://www.nieuw_domein.nl/ [L,QSA]


Maar kan iemand mij vertellen hoe ik alles achter /autos dan kan pakken en achter de doorverwijs-url kan plakken?

  • Plague
  • Registratie: Januari 2001
  • Niet online
Na veel speuren er toch achter gekomen. Uiteindelijk dus op een totaal andere manier, maar dit werkt eigenlijk ook goed.

Voor de search dan:
code:
1
RewriteRule (/auto)(.*) http://www.nieuw_domein_over_autos.nl/$2 [R=301,L,QSA]


Kan ongetwijfeld nog iets efficienter, dus aanvullingen blijven welkom!

  • pimlie
  • Registratie: November 2000
  • Laatst online: 11:51
Een ^ aan het begin van je regex is denk ik wel gewenst, nu wordt namelijk ook /banden/autos gematcht.

Zo dus:
code:
1
2
RewriteCond %{REQUEST_URI} ^/autos [nc]
RewriteRule ^/autos(.*) http://www.autosdomein.nl$1 [r=301,L]