我正在使用Modx革命的最新版本。我想创建一个插件,它将检查当前页面的网址。在某些情况下,当前网址与给定模式匹配,然后我想重定向到新网址。
我的第一个疑问是:如果我去了 www.mydomain.com/wrong-uri 并且错误 - uri不存在,则转到 www.mydomain.com 。在这种情况下,如果我当前的网址是 www.mydomain.com/wrong-uri 那么资源ID是什么?
我的第二个问题是: 我做到了这一点:
if ($modx->event->name == 'OnWebPagePrerender'){
$id = $modx->resource->get('id');
$curUrl = $modx->runSnippet('getCurrentPage',array('id' =>$id));
$output = &$modx->resource->_output;
$redUrl ="http://".$_SERVER['HTTP_HOST'].'/custom/';
if(($curUrl !=$redUrl)&& $curUrl == ("http://".$_SERVER['HTTP_HOST']."/")){
$modx->sendRedirect($redUrl);
}
return ;
}
浏览器说这是无限重定向循环。为什么?
这个插件被多次调用?那么这个插件的适当事件是什么?提前谢谢......
答案 0 :(得分:0)
是的,我一整天都得到了...... !!! 对于www.mydomain.com/wrong-uri,我的$ curUrl是www.mydomain.com/。所以总是如果变得真实而且我处于无限循环中。
答案 1 :(得分:0)
如果我去 www.mydomain.com/wrong-uri 并且错误-uri不存在,则会转到系统设置error_page
中指定了id的页面。也许http://rtfm.modx.com/display/revolution20/Plugins#Plugins-PageNotFoundRedirector%3A会有所帮助。