質問

My local setup for WordPress is at http://127.0.0.3/blog.

When calling https://my.domain.name/blog/wp-login.php, I get the page served; including Google CAPTCHA. But the login post to a 302 redirect to http://127.0.0.3/blog.

In order to overwrite my server default domain I added locally this to my wp-config.php file:

define('WP_HOME','http://127.0.0.3/blog');
define('WP_SITEURL','http://127.0.0.3/blog');
define('FORCE_SSL_LOGIN',false);
define('FORCE_SSL_ADMIN',false);

In my Fiddler Web Debugger script I am using the following code to redirect my browser to go to my local setup:

if (oSession.HostnameIs("my.domain.name")){
    oSession.bypassGateway = true;
    if (oSession.HTTPMethodIs("CONNECT")){
        oSession["x-replywithtunnel"] = "FakeTunnel";
        return;
    }  
    oSession["x-overrideHost"] = "127.0.0.3";
    oSession.fullUrl = "http://127.0.0.3" + oSession.PathAndQuery;
}

How can I get WordPress returned page to be rewritten before it gets sent to the browser, so it changes all 127.0.0.3 to my.domain.name?

-- OR --

Is there a smarter way to go about all of this within WordPress?

I had a look at Change WordPress image URLs via filter because it is somewhat related, but could not figure it out.

役に立ちましたか?

解決

I added this to Fiddler's script in %USER%\Documents\Fiddler2\Scripts\CustomRules.js under OnBeforeResponse and the response rewrite started working

 static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }
        if (oSession.oResponse.headers.ExistsAndContains("Content-Type","text/html")){
            oSession.utilDecodeResponse();
            oSession.utilReplaceInResponse('127.0.0.3','my.domain.name');
            oSession.utilReplaceInResponse('http:','https:');
        }
    }

and needed to set

// define('WP_HOME','http://127.0.0.3/blog');
// define('WP_SITEURL','http://127.0.0.3/blog');
define('FORCE_SSL_LOGIN',false);
define('FORCE_SSL_ADMIN',false);

in wp-config.php

In order to be able to log in I also had to remove the plugin simple-google-recaptcha. There might be a way to set it up with reCAPTCHA not needing to be deactivated, but for now this is all I need.

ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top