将WordPress设置为Magento 2目录中的子文件夹



我有Magento 2,并希望在子文件夹中设置WordPress,因此可以通过magento2.url/blog访问它

我知道Fishpig,但就我的情况而言,它不起作用,因为WordPress网站有很多自定义帖子类型,默认情况下FishPig集成不支持这些类型。

现在,如果我尝试访问magento2.url/blog,它会显示一个404错误Magento 2页面。

我将WordPress子文件夹中的.htaccess修改为:

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

但它没有帮助,WordPress的主页仍然显示404 Magento 2页面。我想我需要在 Magento 2 中修改 .htaccess,但不确定如何修改。

将WordPress集成到Magento时,.htaccess是无关紧要的。此文件仅适用于直接访问WordPress(即WordPress管理员请求(的情况。

以下是基本的安装说明:

  • 将WordPress安装在Magento名为wp的子目录中。
  • 如果您使用 pub 目录显示 Magento,请在 pub/wp 上安装 WordPress,或者在 pub/wp 上创建一个符号链接以指向实际的 wp 文件夹。
  • 检查wp_options表中的主页和站点网址值。siteurl 值应该是/wp URL,主页选项应该是你的/blog URL

这就是在/blog 上集成 WordPress 所需要做的就是。

.htaccess文件在这里没有影响,但是你应该在WordPress的.htaccess中将/blog/更改为/wp/。正确的值是:

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

有关完整的安装指南,请参阅此链接。

如果使用 Apache 的情况。

  1. 安装马真托
  2. 安装WordPress到子文件夹博客
  3. 添加到 .htaccess & PUD/.htaccess 以下代码

    RewriteEngine On RewriteBase /blog/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L]

  4. 在文件夹 pub 中创建符号链接,例如

    ln -s

    /var/html/blog/var/html/pub/blog

正如 https://magento.stackexchange.com/a/53757 所回答的那样,您应该在Magento目录之外安装WordPress。

尽管如此,在您的情况下,您必须编辑Magento.htaccess因为无法访问WP,这解释了Magento 404错误。

RewriteRule ^/blog/(.*) /blog/$1 [QSA]

最新更新