【问题标题】:index.php script will not run at webrootindex.php 脚本不会在 webroot 运行
【发布时间】: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


【解决方案1】:

听起来和我遇到的问题一样。

您是否在http://www.example.com/home/blog/http://www.example.com/home/blog/wp-admin 看到了目录和文件列表,而不是普通的 WordPress 页面?

如果是,您需要以下内容:
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml (或类似的东西)

在您的 httpd.conf(将适用于所有虚拟主机)和每个虚拟主机(如果您使用虚拟主机)中

【讨论】:

    猜你喜欢
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2016-04-04
    • 2013-01-25
    • 1970-01-01
    • 2011-03-21
    • 2023-03-10
    相关资源
    最近更新 更多