čtvrtek 26. května 2011

Hrátky s Apache a přepisem URL

Popis situace byl takovýto:

V Drupalu 6 bylo možno integrovat Gallery 2 přímo do stránek, zatímco v Drupalu 7 není příslušný modul k dispozici. Konečně, také vyšlo nové prostředí Gallery 3 a tak to bylo třeba dát celé nějak dohromady.

Aby to nebylo tak snadné, na stávájícím webu je hromada odkazů směřujících někam sem:

http://web.cz/node/700?q=gallery&g2_itemId=9944

a to bylo třeba směřovat na nový systém Gallery 3 ve formě

http://galerie.web.cz/g2/map?path=g2_itemId=9944

Co s tím? Do nové instalace Drupal 7 je třeba do souboru .htaccess přidat takovéto pravidlo:

<IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
      RewriteCond %{QUERY_STRING} ^q=gallery
      RewriteRule ^(.*)$ http://galerie.web.cz/g2/map?path=$1   [QSA,L,R=301]
</IfModule>

RewriteCond prohledává URL adresy a pokud najde stránku, která má v dotazu zmíněný q=gallery, pak to RewriteRule celé přehodí na tu správnou adresu.

Žádné komentáře:

Okomentovat