我正在编写一个 WordPress 插件,该插件使用类内的设置 API。因此,该类从内部调用 register_settings()、add_settings_field() 和 add_settings_section(),这很好地运行,但当我尝试提交表单时,出现服务器错误,并在日志中看到以下错误:
我已经在一个paste bin中添加了我的重写日志: http://pastebin.com/QKCFjULZ 我的.htaccess文件如下:
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
我的WordPress安装有点奇怪。它基于Mark Jaquith的WordPress Skeleton repo,我已经将wp-content文件夹和wp-config.php文件移动到WordPress之外。
我也通过Vagrant运行WordPress,所以可能是服务器配置问题。然而,我刚刚尝试在标准WordPress安装中使用我的插件,它完美地工作。
我的WordPress目录看起来像这样(composer将WP安装到app目录中):
index.php
wp-config.php
wp-content/
app/
我已经在一个paste bin中添加了我的重写日志: http://pastebin.com/QKCFjULZ 我的.htaccess文件如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) /app/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /app/$2 [L]
RewriteRule . /index.php [L]
Options -indexes
</IfModule>
# END WordPress