.htaccess到WP_Rewrite正则表达式模式

时间:2011-11-15 07:46:06

标签: php wordpress .htaccess url-rewriting

我在.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]');

有任何建议如何解决或如何改进?

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
    }
}

就我而言,它适用于我为个人使用而开发的插件。