如何在WordPress网站上运行非WordPress PHP程序?

时间:2017-11-14 作者:NealWalters

我有一个类似的问题this one:

我创建了一个小PHP程序,我想将其作为rest web服务调用,以从自定义MySQL表返回一些数据。

我可以把它放在任何地方,但我尝试了根文件夹(public\\u html),一个我创建的名为custom的文件夹,以及cgi-bin文件夹。

对于前两个,我得到404找不到。对于CGI-BIN,它看起来像是重定向到我的主页。

我已将CHMOD设置为755(以及自定义文件夹)。

我的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

2 个回复
最合适的回答,由SO网友:NealWalters 整理而成

好吧,我想我被误导了。。。我没有彻底阅读我克隆的代码。如果SQL失败,它将设置404。哼!我还发现了一个名为/custom/error\\u log的文件,我认为这将有助于调试它。

// die if SQL statement failed
if (!$result) {
  http_response_code(404);
  die(mysqli_error());
}

SO网友:Lovin Nagi

将Wordpress从根文件夹移动到子目录并创建.htaccess 文件,并将此内容放入其中(只需更改example.com和my\\u subdir):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/my_subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /my_subdir/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ my_subdir/index.php [L] 
仅此而已:)

结束