我的要求是为Wordpress中的现有网站执行SEO友好URL。
例如,
Current URL: http://localhost/test/?pid=19971
that is the page "test" is rendering the data from some custom plugin.
My new SEO URL : http://localhost/brand/sub_category/product_name
Here, Brand, Sub_category and product_name is fetched from the pid..
我使用functions.php,
中的以下重写规则填充数据add_rewrite_rule(MY_DYNAMICALLY_POPULATED_URL.'$ page-test.php?brand='.$brand_name.'&sub='.$sub_category.'&pname='.$product_name.' [L]', 'top');
在此代码中,page-test.php
放在根目录中,并通过传递brand_name
,sub_category
和productname
来获取该文件的数据。的 PID 即可。因此,基于 pid ,每个产品页面都会呈现。
这段代码对我来说很好,当我自动保存数据时,数据写在.htaccess
中,页面用新的SEO URL呈现。
但是当我的客户端需要它由Apache中的FALLBACK而不是add_rewrite_rule
执行时,由于某些负载平衡问题。
所以任何人都可以帮助我如何使用Fallback resource
。
答案 0 :(得分:-1)
这解决了我的问题。
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');