我有一个包含许多页面的symfony网站,如
/page1
/page2
/page3/something/
etc...
在这些页面中,我有很多时间来说"漂亮"
我希望页面/dummy/page1
返回的内容与/page1
完全相同,但会替换所有出现的单词"漂亮"用#34; beautiful"。
其他页面也是如此:/dummy/url
应始终与/url
完全相同,但替换"漂亮"通过"美丽"
我找到了一个简单的方法:在app.php中,我在一开始就添加了:
if (strpos($_SERVER['REQUEST_URI'], '/dummy') !== false) {
$_SERVER['REQUEST_URI'] = str_replace('/dummy','',$_SERVER['REQUEST_URI']);
ob_start(replaceHTML($final_html))
}
然后简单地
public function replaceHTML($html) {
return str_replace('pretty','beautiful',$html);
}
这完美无缺。
现在我需要将它作为捆绑包以便能够共享它。
问题是捆绑包似乎太迟了,这意味着在处理完请求之后,因此更改$_SERVER['REQUEST_URI']
此时没有做任何事情,并且所有/ dummy / url请求都返回404
你知道如何使用捆绑包重现这个吗?
答案 0 :(得分:0)
尝试为该页面创建2条路线:
/**
* @Route("/dummy/page1", name="route_dummy_1")
* @Route("/page1", name="route_1")
*/
public function indexAction(Request $request)
{
...
}