我有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 的情况。
- 安装马真托
- 安装WordPress到子文件夹博客
-
添加到 .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 中创建符号链接,例如
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]