Php Wordpress&;拉韦尔恩金克斯酒店
我有一个运行基于WP的博客。目前,我正在用Laravel开发一个新的web应用程序,它应该运行在同一个(子)域上。新的web应用程序应该是网站的新起始页/主页/文档根www.xyz.xyz/,但我不想改变当前的WP URL结构-我不想在子目录中运行WP-因此,WP的一切都应该保持原样,除了起始页应该由laravel而不是wordpress提供之外,它的现有URL也应该由laravel提供 当然,wordpress帖子和laravel网页可能会使用同一个slug,尽管它不应该使用,在这种情况下,laravel页面应该被服务 我使用nginx作为web服务器。以前有人做过这样的事吗?它可以在nginx级别上完成吗?有人对如何解决这个问题有什么建议吗 如果Laravel可以为我将在异常处理程序中完成的页面提供服务,如果WP也没有页面提供服务,那么它将负责显示404卷曲WP博客的工作,只要它们不在同一子域/Web服务器上运行 主要问题是,需要如何配置index.php和nginx,以便在同一(子)域上和在同一目录中运行Laravel&WP两者 /** *将异常呈现到HTTP响应中。 * *@param\light\Http\Request$Request *@param\Exception$Exception *@return\light\Http\Response */ 公共函数呈现($request,Exception$Exception) {Php Wordpress&;拉韦尔恩金克斯酒店,php,wordpress,laravel,nginx,laravel-5,Php,Wordpress,Laravel,Nginx,Laravel 5,我有一个运行基于WP的博客。目前,我正在用Laravel开发一个新的web应用程序,它应该运行在同一个(子)域上。新的web应用程序应该是网站的新起始页/主页/文档根www.xyz.xyz/,但我不想改变当前的WP URL结构-我不想在子目录中运行WP-因此,WP的一切都应该保持原样,除了起始页应该由laravel而不是wordpress提供之外,它的现有URL也应该由laravel提供 当然,wordpress帖子和laravel网页可能会使用同一个slug,尽管它不应该使用,在这种情况下,l
谢谢。我不确定是否有脚本可以在返回页面之前检查查询结果。因此,我可以考虑两种选择
web.config
将每个slug的所有流量(即sub.example.com/category
)定向到wordpress,并将其他“文件夹”的流量定向到Laravel您需要将Laravel的
public/index.php
与相应的wordpress文件合并。使用web.config
和目录切换,您应该能够在完全不同的目录中进行这两次安装。然后您可以在默认情况下将所有内容发送到Laravel,并编辑public/index.php
,以发送以下请求:不存在于wordpress引擎中。谢谢你的回答,我编辑了我的初始帖子,404识别已经完成,有点类似于你的第二种方法,但在错误处理程序中。你有任何这样的index.php+nginx配置的示例吗?谢谢。我没有示例,但我认为你应该能够使用e wordpress index.php文件,只需导入它的内容而不是curl请求,因为所有文件都在Web服务器上。由于curl更简单,您可以让WP实际运行在不同的子域上,只需使用curl就可以让外界觉得它在这个域上。
if ($this->isHttpException($exception)) {
$statusCode = $exception->getStatusCode();
switch ($statusCode) {
case '404':
if(Cache::store('file')->has('magazin-startpage')) {
echo Cache::store('file')->get('magazin-startpage');
return;
}
$queryParameter = str_replace($request->url(), "",
$request->fullUrl());
$path = $request->getPathInfo();
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_PORT , 443);
curl_setopt($ch, CURLOPT_URL,"https://www.blog.xyz"
.$path.$queryParameter);
curl_setopt($ch, CURLOPT_POST, 1);
$blog = curl_exec ($ch);
curl_close ($ch);
Cache::store('file')->put('www.blog.xyz', $blog, 60);
echo $blog;
return;
break;
}
}
return parent::render($request, $exception);
}