Schreibe eine hässliche URL, um die URL zu bereinigen

Ich versuche zu gehen von:

http://www.example.com/product?level1=value1&level2=value2&level3=value3&level4=value4 

Zu:

 http://www.example.com/product/value1/value2/value3/value4 

Manchmal sind nicht alle Werte festgelegt, daher muss auch mit nur 2 Werten gearbeitet werden:

 http://www.example.com/product/value1/value2 

Die http://www.example.com/product/ Seite verwendet eine eigene Vorlagendatei.

So sieht mein Code aus:

 function my_rewrite_rules( $wp_rewrite ) { $wp_rewrite->rules = array_merge( array( '^product/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$' => 'index.php?level1=$matches[1]&level2=$matches[2]&level3=$matches[3]&level4=$matches[4]' ), $wp_rewrite->rules); } add_filter( 'generate_rewrite_rules', 'my_rewrite_rules' ); function my_rewrite_queryvars( $qvars ) { $qvars[] = 'level1'; $qvars[] = 'level2'; $qvars[] = 'level3'; $qvars[] = 'level4'; return $qvars; } add_filter( 'query_vars', 'my_rewrite_queryvars' ); 

Es funktioniert, wenn ich versuche, die Abfrage_vars zu bekommen, aber es gibt mir auch eine 404-Seite, und nicht die richtige Vorlage.

Was mache ich falsch?

Solutions Collecting From Web of "Schreibe eine hässliche URL, um die URL zu bereinigen"