2013-08-26 93 views
2

基本上,如標題所說,我得到了逆向代理背後的WP。 比方說,域是,和WordPress是* *** /博客 這裏是WP-config.php文件的修改,允許它這樣工作:Wordpress背後的反向代理管理問題

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']); 

現在,這一切完美的作品,但是當我在管理面板有些地方男,讓我們說的意見,如果我提交表單,WP去* /可溼性粉劑管理員,而不是* /博客/可溼性粉劑管理員和崩潰到404。

UPDATE

嘗試了虛擬主機的方式,將此添加到我的httpd.conf

Listen 80 <VirtualHost *:80> 
    DocumentRoot /var/www/wp-admin 
    ServerName https://***/blog/wp-admin 

# Other directives here 
</VirtualHost> 

但奇怪的是有一個重定向循環每當我去/博客在此之後

我怎麼修復這個?

+0

你的wordpress網站安裝在哪裏?我的意思是在你的虛擬主機的哪個文件夾? – 2013-08-26 14:57:58

+0

'var/www'(不是'www/wordpress',只是在'var/www'中),爲什麼? –

+0

爲您的網站創建虛擬主機會更簡單嗎?因爲您正在重寫「$ _SERVER ['REQUEST_URI']」,但它改變了wordpress的本地工作流程。 – 2013-08-27 07:10:06

回答

1

$ _SERVER ['REQUEST_URI']不包含完整的URL,因此您應該只替換/ wp-admin /。給你的例子:

$_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/blog/wp-admin/", 
              $_SERVER['REQUEST_URI']);