【发布时间】:2012-02-07 09:01:32
【问题描述】:
我有一个 wordpress 网站(buddypress 插件/主题)。我正在使用一个插件,它需要访问插件目录中的 .php 文件。路径是 http://localhost.com/wp-content/plugins/wp-fb-autoconnect/_process_login.php 但我收到了 404 page not found 错误。关于插件常见问题的帖子 (http://www.justin-klein.com/projects/wp-fb-autoconnect) 说:
我在尝试执行 _process_login.php 时遇到 404 服务器错误。 您的 FTP 客户端可能设置为上传具有错误权限的文件 - 尝试将 _process_login.php 和父目录更改为 755。您应该能够直接访问 _process_login.php 并显示“请不要直接访问此脚本”。如果没有,那意味着您的服务器根本没有执行 php(这是您的服务器配置而不是插件的问题)。
我已将目录权限更改为 755,但仍无法访问该文件。估计是服务器配置问题。
我在根目录中没有 .htaccess 文件,但我不确定是否需要指定是否可以在其中直接访问 php 文件。谁能建议我如何访问该文件。我可以看到目录内容(刚刚),但无法打开该文件。
请注意,该站点实际上是在网络上运行的,但由于我在搞乱权限,出于安全原因,我将实际域替换为 localhost...
【问题讨论】:
-
您是否检查过文件本身的权限?将文件夹 + 其所有内容设置为 777 并查看它是否有效。如果是这样,那么这是一个权限问题,您可以专注于此。
-
在父文件夹和 php 文件本身上尝试了 777。仍然“找不到页面”
-
上传一个html文件到同一个目录,看看能不能访问。如果可以,则将文件重命名为具有 .php 扩展名,然后查看是否可以访问它。如果这也加载了,那么我需要查看 _process_login.php 的源代码(我猜它没有包含依赖文件)......如果您无法加载 html 文件或虚拟 php 文件,那么您需要检查您的 htaccess 设置
-
好建议!我创建了一个名为 test.html 的文件并且能够访问它。将其更改为 test.php 并找不到页面
-
好的,我猜 apache(可能通过 htaccess 设置)被配置为将请求重写为具有 .php 扩展名的页面。你能检查一下你的插件文件夹中没有 htaccess 文件吗?另外,请检查您是否能够访问其他插件中的 php 文件。