我有一个使用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
时,我只获取文件夹中的文件列表,而不是实际的首页。
以下是我在启动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
任何想法为什么?
答案 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.php
或DirectoryIndex disabled
。
如果您无权访问配置文件,可能需要将DirectoryIndex index.php
添加到.httaccess
,但您的配置站点和Symfony的.httaccess
应允许此操作指令,例如,它们应包含AllowOverride All
或AllowOverride Indexes FileInfo
。