将wordpress集成到基于symfony 3的网站

时间:2017-04-08 08:29:22

标签: php wordpress .htaccess symfony mod-rewrite

我有一个使用Symfony3的网站,我正在尝试在www.website.com/blog下整合wordpress博客。

所以我到目前为止所做的是在Symfony blog文件夹下创建一个web文件夹,其中包含wordpress文件。

然后我在web/目录的.htaccess文件中添加了重写规则,这样当我们在blog/下时,Symfony的url重写将不会执行任何操作:

# Passing through the Url rewriting for all blog/ urls
RewriteRule ^blog/(.*)$ blog/$1 [PT]

到目前为止,这很好。我可以访问管理部分,但问题是,当我尝试访问www.website.com/blog甚至www.website.com/blog/index.php时,我只获取文件夹中的文件列表,而不是实际的首页。

enter image description here

以下是我在启动wordpress安装脚本时创建的.htaccess文件夹中的blog/文件:

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

任何想法为什么?

1 个答案:

答案 0 :(得分:1)

我认为,如果您可以访问您网站的网站可用配置文件,即/etc/apache2/sites-available/mysite.conf

使用WordPress规则为您的博客添加<Directory>

    <Directory /var/www/mysite/web/blog>

            DirectoryIndex index.php

            # 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

    </Directory>

注意:我自己添加了DirectoryIndex index.php因为我的Symfony有DirectoryIndex app.phpDirectoryIndex disabled

如果您无权访问配置文件,可能需要将DirectoryIndex index.php添加到.httaccess,但您的配置站点和Symfony的.httaccess应允许此操作指令,例如,它们应包含AllowOverride AllAllowOverride Indexes FileInfo