是否可以呈现另一个页面而不是当前正在处理的页面?
例如,我的插件检测到 404 错误,设置相应的 HTTP 标头,然后从网站输出一个正常页面 - 但在这些 HTTP 404 标头下,因此浏览器和搜索引擎将收到自定义的、好看的 404 页面。
重定向者
<? header("Location: ...'); ?>
不是一种选择。我需要停止渲染当前页面并渲染另一个页面,但在这个不存在的 url 下显示它。
如何做到这一点?
听起来您需要一个系统事件插件,请参阅:
http://docs.joomla.org/Plugin/Events/System
特别是 onAfterDispatch 方法:
http://docs.joomla.org/Plugin/Events/System#onAfterDispatch
onAfterDispatch 方法是在路由之后调用的,在 Joomla 判断 url 是否有效之后,应该是时候介入,重定向到另一个页面了。