Wordpress NGINX将所有内容重定向到新域,除了

Wordpress NGINX将所有内容重定向到新域,除了,wordpress,nginx,Wordpress,Nginx,我有一个不同寻常的设置,我有一个angularJS应用程序运行在http://example.com通过位于http://api.example.com http://api.example.com需要有/wp登录,/wp管理员,/wp内容,/wp包含URL才能像正常的wordpress站点一样工作 但是,所有其他url都像http://api.example.com/category/excategory或http://api.example.com/this-is-a-post-title需

我有一个不同寻常的设置,我有一个angularJS应用程序运行在
http://example.com
通过位于
http://api.example.com

http://api.example.com
需要有
/wp登录
/wp管理员
/wp内容
/wp包含
URL才能像正常的wordpress站点一样工作

但是,所有其他url都像
http://api.example.com/category/excategory
http://api.example.com/this-is-a-post-title
需要将301重定向到
http://example.com 域。

例如:

http://api.example.com/category/excategory
重定向到

http://example.com/category/excategory
但是

没有

我尝试过各种疯狂的事情,但我的位置块似乎要么冲突,要么我得到了奇怪的url地址,这是行不通的

以下是一个失败的尝试:

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文件中。它应该重定向所有URL,但包含wp admin的URL除外:

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

    }
 }

将此代码放在WP Theme Functions.php文件中。它应该重定向所有URL,但包含wp admin的URL除外:

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

    }
 }

尝试更新你的永久链接结构。查看您的.htaccess文件是否可写。考虑到这是NGINX设置,.htaccess是合适的解决方案吗?嗯,.htaccess不是合适的解决方案。尝试将permalink结构设置为默认值,然后查看您是否可以访问这些页面。我可以访问这些页面,但我希望它们重定向到一个新域,但我上面提到的域除外。这不是一个没有访问权限的问题,我只是想找出一些页面的重定向规则。尝试更新你的永久链接结构。查看您的.htaccess文件是否可写。考虑到这是NGINX设置,.htaccess是合适的解决方案吗?嗯,.htaccess不是合适的解决方案。尝试将permalink结构设置为默认值,然后查看您是否可以访问这些页面。我可以访问这些页面,但我希望它们重定向到一个新域,但我上面提到的域除外。这不是一个没有访问权限的问题,我只是想找出一些页面的重定向规则。这是否也会重定向/wp content/wp login和/wp includes?我需要这些文件留在api.example.com。这是否也会重定向/wp-content/wp-login和/wp-includes?我需要这些留在api.example.com