3 reacties


  • 500 redirects? Kan dat echt niet beknopter met regular expressions? Zoiets als dit?

    RedirectMatch permanent ^/([^/]+)/$ http://www.tweevoeter.nl/$1.php

    Waarbij:
    ^ = begin van string
    () = een match voor dit deel wordt geplaatst in $1
    [^/] = een karakter dat niet gelijk is aan slash
    + = 1 of meer van het voorgaande
    $ = einde string.

    Ik weet niet of het werkt bij RedirectMatch, maar het werkt prima bij RewriteRule. Hier een voorbeeld dat ik gebruik:
    RewriteRule (.*) index.php?action=$1 [QSA,L]
    Oftewel:
    /listpages -> /index.php?action=listpages

    juli 03, 2007
  • Hm, laat ik die wel in zijn context geven, anders gaat het fout. Hier wordt die regel alleen toegepast als er iets achter de slash wordt meegegeven, en als dat geen bestaande file of directory is.

    RewriteRule ^$ index.php [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php?action=$1 [QSA,L]

    juli 03, 2007
  • Wessel

    Bedankt voor de tip. Een rewrite zou denk ik ongeveer 100 van de 500 redirects overbodig kunnen maken. Het belangrijkste doel van die adreswijzigingsoperatie was inderdaad om .php toe te voegen, maar ik heb toen veel meer zaken aangepakt, zoals pagina’s naar mappen verplaatsen en omgekeerd, andere pagina’s samenvoegen, enzovoorts.

    juli 04, 2007

Reageer


naam*

e-mail (wordt niet gepubliceerd)*

website

reactie*

verstuur

© Wessel Zweers, Laterna Media - fotografie: <a href="http://www.flickr.com/photos/gadl/">Alexandre Duret-Lutz</a>