我在.htaccess中有一个重写规则(工作正常),我想添加为WordPress wp_rewrite - 主要是为了便携性和用户的便利......问题是正则表达式模式看起来如何......
RewriteCond %{REQUEST_URI} ^/services/rest/(.*)$
RewriteRule ^(.*)/(.*)/(.*)$ wp-content/plugins/some_plugin/api.php?action=$3 [L,NC]
我需要的语法看起来像这样:
$newrules = array('^/services/rest/(.*)' => mAPI_PLUGIN_URL.'/socket.php?action=$matches[1]');
有任何建议如何解决或如何改进?
答案 0 :(得分:2)
在脚本/主题中添加以下代码:
add_action('init', 'add_rewrite_rule');
add_filter('query_vars', 'query_vars');
add_filter('wp_head', 'rooter');
function add_rewrite_rule()
{
add_rewrite_rule('services/rest/(.*)', 'index.php?my_action=$matches[1]', 'top');
}
function query_vars($query_vars)
{
$query_vars[] = 'my_action';
return $query_vars;
}
function rooter()
{
if(get_query_var('my_action'))
{
// Do your tasks here
}
}
就我而言,它适用于我为个人使用而开发的插件。