簡體   English   中英

Wordpress NGINX將所有內容重定向到新域除外

[英]Wordpress NGINX redirect everything to new domain EXCEPT

我有一個不同尋常的設置,我在http://example.com上運行了一個angularJS應用程序,它通過位於http://api.example.com的wordpress api提取數據。

http://api.example.com需要有/wp-login/wp-admin/wp-content/wp-includes url才能正常工作,就像它仍然是一個普通的wordpress網站一樣。

但是所有其他網址如http://api.example.com/category/excategoryhttp://api.example.com/this-is-a-post-title需要將301重定向到http://example.com domain.

例:

http://api.example.com/category/excategory

重定向到

http://example.com/category/excategory

http://api.example.com/wp-admin (and anything after it)

才不是。

我嘗試了各種瘋狂的事情,但我的位置塊似乎要么發生沖突,要么我得到了奇怪的網址,無處可去。

這是一次失敗的嘗試:

location ~ /wp-(?:admin|login|includes|content) {
index index.php;
try_files $uri $uri/ /index.php?$args;
}

location / {
   return 301 $scheme//example.com$request_uri
}

將此代碼放在WP Theme Functions.php文件中。 除了包含wp-admin的網址外,它應該重定向所有網址:

 add_action('init','_redirect_api_url');

 function _redirect_api_url(){
    $redirect = TRUE;
    $pathNotToRedirect = array('wp-admin','wp-content', 'wp-login','wp-includes');
    $path = "http://example.com".$_SERVER['REQUEST_URI'];
    foreach($pathNotToRedirect as $val){
        if(strpos($path, $val)){
           $redirect = FALSE;
           break;  
        }
    }
    if($redirect == TRUE) {
       header("Location: ".$path);

    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM