Wordpress Folder als GET-Variable übergeben htaccess?

RedParkz

Neu angemeldet
Registriert
15 Juli 2013
Beiträge
33
Hallo zusammen,

mal eine Frage zu Wordpress/htaccess und "dynamischer" Seitenerstellung

Folgendes Problem. Ich möchte gerne Seiten basierend auf der URL generieren. Diese sind Beispielsweise so aufgebaut



Auf Basis der ID und (erstmal angedacht) einem Shortcode soll die ID ausgelesen werden und die passenden Daten aus der DB geholt werden. Da ich nicht mehrere tausend Seiten angelegt werden sollen und diese sich auch jeden Tag ändern können, würde ich gerne diesen Weg gehen.

Derzeit habe ich noch das Problem, dass die Seiten ja nicht existieren und WP daher eine 404er Seite wirft. Jetzt die Frage wie kann ich das abfangen und kann ich mein Vorhaben so überhaupt realisieren. Mein erster Gedanke war ein Eintrag in der .htaccess der die ID ausließt und als GET-variable an die URL anhängt. Jedoch funktioniert dies nicht (vermutlich falsche htaccess oder ähnliches).

Kann mir zufällig einer hier einen kleinen Denkanstoß geben?

Besten Dank und einen schönen Abend
 
WordPress verwendet ein eigenes Rewriting-Framework - standardmässig werden in der Serverkonfiguration (etwa der htaccess-Datei) alle URIs auf WordPress' index.php umgeschrieben, welche diese dann interpretiert. Siehe dazu und , dort ist auch dokumentiert, wie man über ein Plugin eigene Rewrite-Regeln einfügen kann.
 
  • Thread Starter Thread Starter
  • #3
Hi Fisch,

danke für den Hinweis. Habe es nun soweit auch hinbekommen. Falls einer mal das gleiche sucht, anbei meine Lösung. myid kann dann z.b. in einem Shortcode ausgelesen werden und die entsprechenden Infos ausgegeben werden.

Code:
Expand Collapse Copy
   function rpz_add_rewrite_rules() {  
    add_rewrite_rule(  
        '^autowerkstatt/([^/]*)',  
        'index.php?pagename=autowerkstatt&myid=$matches[1]',  
        'top'  
    );  
    }  
    add_action( 'init', 'rpz_add_rewrite_rules' );  



    function rpz_register_rewrite_tag() {  
        add_rewrite_tag( '%myid%', '^mycustomfolder/([^/]*)');  
    }  
    add_action( 'init', 'rpz_register_rewrite_tag');  

    function rpz_filter_post_link( $permalink, $post ) {  
   
        if ( false === strpos( $permalink, '%myid%' ) )  
            return $permalink;  
		
		//wenn default value benötigt wird
        $myid =urlencode('default');         
        $permalink = str_replace( '%myid%', $myid , $permalink );  
      
        return $permalink;  
    }  
    add_filter( 'post_link', 'rpz_filter_post_link' , 10, 2 );
 
Zurück
Oben