laravel 和 wordpress 在同一个域上(子文件夹中的 laravel)

Posted

技术标签:

【中文标题】laravel 和 wordpress 在同一个域上(子文件夹中的 laravel)【英文标题】:laravel and wordpress on the same domain(laravel in subfolder) 【发布时间】:2015-05-15 03:19:52 【问题描述】:

我有 wordpress 和 laravel 应用程序,它们应该使用 AJAX 进行通信 - 所以它们必须在同一个域中。

wordpress 站点应该位于主域 - MYdomain.com。 我的 laravel 应用程序将在 MYdomain.com/panel 上。

wordpress .htaccess :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond ! ^panel
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

laravel htaccess(mydomain.com/panel)

<IfModule mod_rewrite.c>
RewriteCond ^panel
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>  

我收到内部服务器错误 来自 apache2 文件夹的日志是:

[Thu Mar 12 15:31:07.596263 2015] [core:alert] [pid 1172] [client     xxx.xxx.xxx.xxx:52628] /var/www/panel/.htaccess: </IfModule> without matching <IfModule> section

如何解决?

谢谢!!

【问题讨论】:

【参考方案1】:

你的主要 .htaccess 像这样。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_URI !^/panel [NC]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

在面板文件夹中将您的规则更改为这样。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /panel/
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>  

【讨论】:

问题没有解决,我在日志中得到同样的错误, 编辑您的问题并发布两个 .htaccess 文件的全部内容。某处有错误。 .htaccess 文件的内容与您发布的内容相同(我将您的文件粘贴到我的文件中)。 所以除了这些规则之外,这些文件中没有其他内容? 删除这两个文件,使用这些规则重新创建它们并清除缓存,看看是否仍然出现错误。使用记事本

以上是关于laravel 和 wordpress 在同一个域上(子文件夹中的 laravel)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 和 Wordpress 在同一服务器/域上

如何允许 Laravel 和 WordPress 共享登录名?

使用 nginx 在 laravel forge 上集成 Laravel 5.2 wordpress

Laravel 和 Wordpress

Laravel 和 WordPress 前端

Laravel 5.4 和 WordPress 4.7 的辅助函数 __() 冲突