Merlinx VCMS 与 Wordpress 集成

Merlinx VCMS integration with Wordpress

几个小时前,我有一个任务是将 Merlinx 的 VCMS 与 Wordpress 集成。

主要有两个问题:
1) Wordpress 尝试在 URL 中添加斜线作为最后一个字符,并且无法加载任何 JS 或其他资源
2) 模块需要自定义重写规则,与WordPress规则冲突

网上还没有解决这个问题的资料。

因此,如果您遇到同样的问题,这是快速解决方案:


1) functions.php

里面的代码
add_action( 'init', function() {
    add_rewrite_rule( '__page_slug__/(.*)$', 'index.php?pagename=__page_slug__&_url=/$matches[1]', 'top' );
} );
add_filter( 'query_vars', 'prefix_query_vars' );
function prefix_query_vars( $query_vars )
{
    $query_vars[] = '_url';
    return $query_vars;
}

2) 在rwdGate.php里面插入:

//before line with $rwdUrl = 'http://' . $this->domainName . '/' . $url[1];
    $url[1]= preg_replace("/(\?v=).*$/",'',$url[1]); // for fonts

    if(substr($url[1], -1) == '/') {
        $url[1] = substr($url[1], 0, -1); // for js
    }

这是一个 hack,如果有一些基于 .htaccess 的解决方案,我会很高兴见到他。