Cyx23: RedirectMatch

Hallo,

ich möchte gerne so umleiten:

RedirectMatch 301 /haustiere/hamster/.html$ "/haustiere/#hamster"

Das Unterverzeichnis 'hamster' und die Unterseiten sollen durch '#hamster' ersetzt werden.

Das Unterverzeichnis existiert aber noch, und Bilder aus dem Verzeichnis müssen noch erreichbar bleiben.

Die Umleitung scheint im ersten Test zu funktionieren, allerdings stört mich, dass bei '/haustiere/hamster/' der abschließende Slash erhalten bleibt, und ich dann '/haustiere/#hamster/' erhalte. Wie läßt sich das ändern?

Grüsse

Cyx23

  1. Hallo Cyx23,

    Die Umleitung scheint im ersten Test zu funktionieren, allerdings stört mich, dass bei '/haustiere/hamster/' der abschließende Slash erhalten bleibt, und ich dann '/haustiere/#hamster/' erhalte. Wie läßt sich das ändern?

    Wenn Du etwas mehr Flexibilität willst, dann nutze die Weiterleitungsfunktionalität von mod_rewrite, z.B. sowas in der Haupt-.htaccess (oder ohne RewriteBase in der VirtualHost-Konfiguration):

    RewriteEngine On  
    RewriteBase /  
    RewriteRule ^/haustiere/hamster/$ /haustiere/#hamster [L,R=301]
    

    Viele Grüße,
    Christian

    1. Hallo nochmal,

      Wenn Du etwas mehr Flexibilität willst, dann nutze die Weiterleitungsfunktionalität von mod_rewrite, z.B. sowas in der Haupt-.htaccess (oder ohne RewriteBase in der VirtualHost-Konfiguration):

      RewriteEngine On

      RewriteBase /
      RewriteRule ^/haustiere/hamster/$ /haustiere/#hamster [L,R=301]

        
      Das Argument mit dem # natürlich in Anführungszeichen...  
        
      Viele Grüße,  
      Christian  
      
      -- 
      [Mein "Weblog"](http://del.icio.us/chris_se/servertipps) [[RSS](http://del.icio.us/rss/chris_se/servertipps)]  
      [Using XSLT to create JSON output](http://www.christian-seiler.de/projekte/xslt-json/) (Saxon-B 9.0 for Java)  
        
      [How to tell the difference between a science fan and a scientist.](http://www.smbc-comics.com/index.php?db=comics&id=1777#comic)
      
      1. Hallo,

        RewriteRule ^/haustiere/hamster/$ /haustiere/#hamster [L,R=301][/code]

        danke, klappt leider erstmal nicht so wie gewünscht, muß ich mir vielleicht nochmal genauer anschauen woran es liegt.

        Bei den redirects hab ich vielleicht auch nicht gut genug aufgepasst, der Browser merkt sich wohl die Umleitungen und spätere Fehler fallen weniger auf.

        Auf dem Testsystem (XAMPP) scheint das aber gut zu laufen:

        RedirectMatch 301 /haustiere/hamster/(.*).html "/haustiere/#hamster"

        Nur auf dem endgültigen Server krieg ich damit oder auch mit
         RedirectMatch 301 /haustiere/hamster/(.*).html www.example.com/haustiere/#hamster
        Schleifen oder 500er Fehler.

        Grüsse

        Cyx23

        1. Hallo nochmal,

          nach Options -Multiviews und CheckSpelling Off in der htaccess schaut es jetzt besser aus.

          Allerdings wird jetzt bei der Umleitung das Gatterzeichen durch %23 ersetzt, wie läßt sich das verhindern?

          Grüsse

          Cyx23