Laravel 和 WordPress 前端
Posted
技术标签:
【中文标题】Laravel 和 WordPress 前端【英文标题】:Laravel and Wordpress Frontend 【发布时间】:2017-10-18 07:57:42 【问题描述】:我正在 Laravel 上构建一个网络应用程序,其中涉及多种用户类型的登录等。
我想对大多数与 CMS 相关的东西使用 Wordpress 后端和前端。我想要 Wordpress 前端,因为它更容易为客户维护,并且该网站的许多面向用户的页面都是可以来自 wordpress 的内容。
我希望网站显示来自 wordpress 的页面,如果 Laravel 没有处理该路线。
http://webapp.com/ ->(登陆页面)来自 Wordpress
http://webapp.com/laravelRoute -> Laravel
http://webapp.com/some-post-url -> WordPress。
我怎样才能通过让 Laravel 和 Wordpress 很好地使用路由来实现这一点?
我尝试在 public/ 文件夹中安装 Wordpress。但是它不能识别 Laravel 路由,就像一般的 wordpress 网站一样工作。
【问题讨论】:
But it is not working
是你的错误吗?
将在一分钟内分享一个错误。
@IvascuMadalin 安装在仅显示 wordpress 站点的公共文件夹中。我尝试在顶部添加来自 Laravel 的 public/index.php 的 index.php 代码。它只显示 laravel 路线。
我尝试在顶部添加 Laravel 的 public/index.php 中的 index.php 代码 在什么之上?
@IvascuMadalin 在现有代码之上。 require __DIR__.'/../vendor/autoload.php';
。为什么这么激进?
【参考方案1】:
要将 Laravel 和 Wordpress 合并到同一级别,您有两个或更多选项。
第一个选项是设置 .htaccess 重写规则并将所有 Laravel 路由重定向到 laravel-index.php 文件。您将 Laravel 应用程序 index.php 文件重命名为该文件。
第二个选项是禁用 wordpress index.php 文件,而使用 Laravel 的。在 laravel 中创建一个调用 Wordpress 对象的全部路由。因此,使用这种方法,您所要做的就是创建 Laravel 路由,其余的将交给 Wordpress。
【讨论】:
@scriptonomy。你能分享更多关于第二个选项的代码吗? 我试过做类似的事情:Route::get('/',function() // Let wordpress handle the code generation. );
【参考方案2】:
这就是我能够修复它的方法。
http://example.com/ -> Laravel 代码
<laravel code root>/public/pages
-> wordpress 代码
您应该能够从 wordpress 内容访问http://example.com/pages/
->。
您还需要配置 nginx 来处理 Wordpress URL 重定向:
...
location /pages/index.php(/.*)?$
fastcgi_split_path_info ^(/pages/index.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
location /pages/
if (!-e $request_filename)
rewrite ^.*$ /pages/index.php last;
try_files $uri $uri/ pages/index.php?args;
location / ...
【讨论】:
我们如何在 apache 服务器上实现这一点?以上是关于Laravel 和 WordPress 前端的主要内容,如果未能解决你的问题,请参考以下文章
php WordPress删除过滤器(remove_filter转换为remove_class_filter)以删除没有类对象访问的过滤器/操作。与Wor一起使用
php 通过代码在WordPress中创建一个新的管理员用户。将此文件放在mu-plugins目录中并更新变量,然后在Wor中加载页面