【发布时间】:2013-08-28 21:44:54
【问题描述】:
基本上正如标题所说,我在反向代理后面有一个 wp。 比方说,域名是,wordpress是****/blog 以下是允许它以这种方式工作的 wp-config.php 编辑:
define('.ADMIN_COOKIE_PATH.', '/blog');
define('.COOKIE_DOMAIN.', 'www.***.com');
define('.COOKIEPATH.', '/blog');
define('.SITECOOKIEPATH.', '.');
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
define('DOMAIN_CURRENT_SITE', 'https://www.***.com/blog');
define('WP_HOME','https://www.***.com/blog');
define('WP_SITEURL','https://www.***.com/blog');
$_SERVER['REMOTE_ADDR'] = 'https://www.***.com/blog';
$_SERVER['HTTP_HOST'] = 'www.***.com/blog';
$_SERVER[ 'SERVER_ADDR' ] = 'www.***.com/blog';
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
$_SERVER['REQUEST_URI'] = str_replace("https://www.***.com/wp-admin",
"https://www.***.com/blog/wp-admin",
$_SERVER['REQUEST_URI']);
现在,一切正常,但是当我在管理面板的某些地方时,比如说 cmets,如果我提交表单,WP 会转到 */wp -admin 而不是 */blog/wp-admin 并崩溃到 404。
更新
尝试了 VHost 方法,将其添加到我的 httpd.conf 中
Listen 80 <VirtualHost *:80>
DocumentRoot /var/www/wp-admin
ServerName https://***/blog/wp-admin
# Other directives here
</VirtualHost>
但奇怪的是,每当我在此之后访问 /blog 时都会出现重定向循环
我该如何解决这个问题?
【问题讨论】:
-
您的 wordpress 网站安装在哪里?我的意思是在您的虚拟主机的哪个文件夹中?
-
var/www(不是www/wordpress,只是在var/www),为什么? -
为您的网站创建虚拟主机会更简单吗?因为您正在重写“$_SERVER['REQUEST_URI']”,但它改变了 wordpress 的原生工作流程。
-
那行是一个实验,我现在没有它,它仍然以同样的方式工作......你是什么意思创建一个虚拟主机?
-
查看此链接:httpd.apache.org/docs/current/vhosts/examples.html。我的意思是为 www.***.com/blog/wp-admin/ 为文档根 www/sitefolder/wp-admin 创建一个虚拟主机。你看到了吗?