0

我正在使用 Modx 革命最新版本。我想创建一个插件,它将检查当前页面的 url。在某些情况下,当当前 url 匹配给定模式时,我想重定向到新 url。

我的第一个查询是:如果我去www.mydomain.com/wrong-uri并且 wrong-uri 不存在,它会去www.mydomain.com。在这种情况下,如果我当前的 url 是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 ;
}

浏览器说这是无限重定向循环。为什么?

这个插件被多次调用了吗??那么这个插件的合适事件是什么?提前致谢 ...

4

2 回答 2

0

是的,我一整天都明白了....!!!对于 www.mydomain.com/wrong-uri,我的 $curUrl 是 www.mydomain.com/。所以总是如果变得真实并且我处于无限循环中。

于 2013-03-07T11:04:00.717 回答
0

如果我去www.mydomain.com/wrong-uri并且 wrong-uri 不存在,它会转到系统设置中指定 id 的页面error_page。也许http://rtfm.modx.com/display/revolution20/Plugins#Plugins-PageNotFoundRedirector%3A会有所帮助。

于 2013-03-07T14:53:43.087 回答