Wrong wp-admin URL 时间:2017-06-12 作者:Victor Wong 我刚安装了一个WordPress站点,并在一个反向代理后面配置了该站点的URL-http://example.com/hello问题我可以访问admin dashboard页面,但由于链接变为http://example.com/wp-admin 而不是http://example.com/hello/wp-admin. 我怎样才能摆脱这种奇怪的行为?可能有帮助的详细信息我确信WordPress地址(URL)和站点地址(URL)配置为http://example.com/hello, 我甚至检查了数据库表wp_options.当它到达带有正确CSS的管理仪表板页面时,浏览器会在半秒钟内显示正确的链接,然后突然变为错误的链接。我甚至在Chrome和Firefox中查看了网络日志,请求的URL是http://example.com/hello/wp-admin.我已尝试配置.htaccess 也一样,但运气不好。# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /hello RewriteRule ^index\\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /hello/index.php [L] </IfModule> # END WordPress 3 个回复 SO网友:Victor Wong 最终,我找到了这种奇怪行为的原因。这是由于wp_admin_canonical_url() (https://developer.wordpress.org/reference/functions/wp_admin_canonical_url/)URL由这段代码决定$_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'] 后者返回的地方wp-admin 而不是hello/wp-admin.通过操纵中的值$_SERVER[\'REQUEST_URI\'], 我可以在管理仪表板中成功获得正确的行为。但我仍然希望有一个不涉及WordPress代码的优雅解决方案。 SO网友:mrben522 add_filter(\'set_url_scheme\', \'hacky_uri_fix\', 10, 2); function hacky_uri_fix($url, $scheme) { if ( $url === {{BAD ADMIN URL}} ) { $url = {{CORRECT ADMIN URL}} } return $url } 如果可以的话,只需用正确的URL替换您试图避免的错误URL即可。我确信有更好的解决方案,但我不太熟悉子文件夹的安装,这应该可以在不涉及核心代码的情况下工作。 SO网友:Chad 维克托是百分之百的人,所以请拯救下一个人(甚至是我自己)继续挖掘:函数wp\\u admin\\u canonical\\u url位于中/wp管理/包括/杂项。php文件更改$\\u服务器[\'HTTP\\U主机\']$_服务器[\'REQUEST\\u URI\']待$_SERVER[\'HTTP_HOST\'] . \'/news/. $_SERVER[\'REQUEST_URI\'] Where/news可以是wp admin文件夹前面的任何路径。 结束 文章导航