【问题标题】:PHP file in WordPress DirectoryWordPress 目录中的 PHP 文件
【发布时间】:2013-11-22 17:29:52
【问题描述】:

我在 WordPress public_html 文件夹中创建了一个文件夹,并在其中创建了一个 test.php 文件,如下所示。

www.mysite.com/myfolder/test.php

当我导航到这个 url 时,我得到 page not found 404 错误。 myfolder 中的所有其他文件,例如test.txt 加载没有任何问题。它只是没有运行的php文件。有人可以帮忙吗?

我的 .htaccess 文件是

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

# END WordPress

【问题讨论】:

  • 您的网站托管在哪里?对于某些托管解决方案,PHP 文件需要由 PHP 处理。我遇到的一个这样的限制是该组不能读取 PHP 文件。
  • @anubhava WP 运行良好。
  • 文件必须在 WP 之外吗?

标签: php wordpress .htaccess


【解决方案1】:

WordPress 有自己的 .htaccess,它可能会将您的 URI 视为某种“搜索引擎友好”的东西,并将其转换为 WP 期望的其他格式。例如,http://www.mysite.com/myfolder/test.php 可能会被重写为 http://www.mysite.com/myfolder/index.php?target=test%25php。这将在 WP 中产生 404 错误(不是真正的服务器 404 错误)。也许可以在 WP 的配置中完成某些操作,或者您可以修改 .htaccess 以明确告诉它不要重写 test.php。

【讨论】:

    【解决方案2】:

    这很奇怪,因为 WP 由于RewriteCond %{REQUEST_FILENAME} !-f 条件而将您的文件单独放置。

    尝试使用此行创建一个myfolder/.htaccess 文件:

    # just one line here
    RewriteEngine On
    

    这基本上会使父文件夹的所有重写规则无效。

    【讨论】:

      【解决方案3】:

      请检查 myfolder 的文件夹权限。它不应该是 777,而应该是服务器上的 755。

      请参考Wordpress php file execution

      【讨论】:

        猜你喜欢
        • 2012-11-06
        • 1970-01-01
        • 2011-08-10
        • 1970-01-01
        • 2011-03-12
        • 2017-07-05
        • 2018-08-26
        • 2017-10-30
        • 1970-01-01
        相关资源
        最近更新 更多