it-swarm.com.de

Apache Fallback anstelle von add_rewrite_rule

Meine Anforderung ist es, eine SEO-freundliche URL für eine vorhandene Site in Wordpress zu erstellen.

Zum Beispiel,

Aktuelle URL : http://test.com/test/?pid=19971 das ist die Die Seite "test" gibt die Daten eines benutzerdefinierten Plugins wieder.

Meine neue SEO-URL : http://test.com/brand/sub_category/product_name Hier, Marke, Unterkategorie und Produktname werden aus der pid abgerufen. Ich fülle die Daten mit der folgenden Umschreiberegel aus functions.php auf,

add_rewrite_rule(MY_DYNAMICALLY_POPULATED_URL.'$ page-test.php?brand='.$brand_name.'&sub='.$sub_category.'&pname='.$product_name.' [L]', 'top');

In diesem Code wird die page-test.php im Stammverzeichnis abgelegt und die Daten werden aus dieser Datei gerendert, indem Markenname, Unterkategorie und Produktname übergeben werden, um die PID abzurufen. Anhand der PID wird also jede Produktseite gerendert.

Dieser Code funktioniert gut für mich. Wenn ich die Daten automatisch speichere, werden die Daten in .htaccess geschrieben und die Seite wird mit der neuen SEO-URL gerendert.

Aber wenn mein Client es braucht, um es durch FALLBACK in Apache anstelle von add_rewrite_rule zu tun, wegen einiger Lastausgleichsprobleme.

Kann mir jemand helfen, wie ich dasselbe mit der Fallback-Ressource tun kann?.

1
Harish Chinju

Dies hat mein Problem behoben.

function my_query_vars($vars)
{
$my_vars = array( 'PARAMETERS' );
return array_merge($my_vars, $vars);
}
add_filter('query_vars', 'my_query_vars');


function my_rewrite_rules($rules)
{
global $wp_rewrite;
$my_page = 'PAGESLUG';
$my_rule = array( 'URL/?' => 'index.php?pagename=' . $my_page . '&school_type=$matches[1]' );
return array_merge($my_rule, $rules);
}
add_filter('page_rewrite_rules', 'my_rewrite_rules');
1
Harish Chinju