将 WordPress 设置为 Magento 2 目录中的子文件夹
Setup WordPress as a sub folder in Magento 2 directory
我有 Magento 2 并想在子文件夹中设置 WordPress,因此它将通过 magento2 访问。url/blog
我知道 Fishpig,但就我的情况而言,它不起作用,因为 WordPress 站点有很多自定义 post 类型,默认情况下 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 但不确定如何修改。
正如在 https://magento.stackexchange.com/a/53757 上的回答,您应该在 Magento 目录之外安装 WordPress。
尽管如此,在您的情况下,您必须编辑 Magento .htaccess
因为无法访问 WP,这解释了 Magento 404 错误。
RewriteRule ^/blog/(.*) /blog/ [QSA]
将 WordPress 集成到 Magento 时,.htaccess 无关紧要。此文件仅在直接访问 WordPress 时适用(即针对 WordPress 管理员请求)。
基本安装说明如下:
- 在名为 wp 的 Magento 子目录中安装 WordPress。
- 如果您使用 pub 目录显示 Magento,请在 pub/wp 安装 WordPress 或在 pub/wp 创建符号链接以指向实际的 wp 文件夹。
- 检查 wp_options table 的 home 和 siteurl 值。 siteurl 值应该是 /wp URL 并且 home 选项应该是你的 /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
有关完整的安装指南,请参阅 this link。
对于使用 Apache 的情况。
- 安装 Magento
- 将 Wordpress 安装到子文件夹 blog
添加到 .htaccess & pud/.htaccess 下面的代码
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
在pub文件夹中创建符号link like
ln -s /var/html/blog /var/html/pub/blog
我有 Magento 2 并想在子文件夹中设置 WordPress,因此它将通过 magento2 访问。url/blog
我知道 Fishpig,但就我的情况而言,它不起作用,因为 WordPress 站点有很多自定义 post 类型,默认情况下 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 但不确定如何修改。
正如在 https://magento.stackexchange.com/a/53757 上的回答,您应该在 Magento 目录之外安装 WordPress。
尽管如此,在您的情况下,您必须编辑 Magento .htaccess
因为无法访问 WP,这解释了 Magento 404 错误。
RewriteRule ^/blog/(.*) /blog/ [QSA]
将 WordPress 集成到 Magento 时,.htaccess 无关紧要。此文件仅在直接访问 WordPress 时适用(即针对 WordPress 管理员请求)。
基本安装说明如下:
- 在名为 wp 的 Magento 子目录中安装 WordPress。
- 如果您使用 pub 目录显示 Magento,请在 pub/wp 安装 WordPress 或在 pub/wp 创建符号链接以指向实际的 wp 文件夹。
- 检查 wp_options table 的 home 和 siteurl 值。 siteurl 值应该是 /wp URL 并且 home 选项应该是你的 /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
有关完整的安装指南,请参阅 this link。
对于使用 Apache 的情况。
- 安装 Magento
- 将 Wordpress 安装到子文件夹 blog
添加到 .htaccess & pud/.htaccess 下面的代码
RewriteEngine On RewriteBase /blog/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L]
在pub文件夹中创建符号link like
ln -s /var/html/blog /var/html/pub/blog