【发布时间】:2011-10-06 22:00:22
【问题描述】:
我最近将一个 WordPress 博客迁移到一个运行 apache2 的新 ubuntu 服务器上。这
博客的路径在物理上位于/var/www/approot/public/home/blog/(wp-stuff here),与旧服务器的路径相同。
注意这不是 WordPress 问题。我可以执行我在这个文件夹中创建的一个简单的 PHP 脚本; phpinfo.php 返回就好了。但是,index.php 返回 403 禁止消息。
奇怪的是,如果我直接通过http://www.example.com/home/blog/wp-login.php 然后http://www.example.com/home/blog/wp-admin/index.php 访问它,我可以登录到 WordPress 控制台。
但我无法联系到http://www.example.com/home/blog/index.php——我得到了 403。
此外,我可以访问类别页面以及../home/blog/wp-content 文件夹下的任何链接,但不能访问主页。
我确实有一个看起来很标准的 .htaccess 文件:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /home/blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /home/blog/index.php [L]
</IfModule>
# END WordPress
此外,../home/blog/ 文件夹中所有 .php 文件的权限设置相同
-rwxr-xr-x
有人知道为什么index.php 被禁止吗?
【问题讨论】:
-
检查 Apache 的错误日志。如果 Apache 决定阻止它,它应该在那里有一个条目。
-
谢谢,这里有一堆:
-
客户端被服务器配置拒绝:/var/www/approot/public/home/blog/.html
-
根据我从这条消息中得到的信息——它是 Apache 配置——它与您之前的不同。请确保允许
.htaccess文件(您可能需要将AllowOverride All或类似文件放在适当的位置)。一般来说,最好的方法是与您之前的服务器配置进行比较。 -
嗯,我的 httpd.conf 中确实有该指令
标签: wordpress ubuntu permissions apache2