Wordpress 将API请求重定向到子域htaccess

Wordpress 将API请求重定向到子域htaccess,wordpress,apache,.htaccess,Wordpress,Apache,.htaccess,我知道这方面已经有很多问题了,但没有解决办法 我正在使用Wordpress安装,编辑器正在请求https://example.com/wp-json/wp/v2希望在那里找到Rest API。但是,RESTAPI位于https://api.example.com/wp-json/wp/v2 如何将任何API请求重定向到https://example.com/wp-json/wp/v2/*至https://api.example.com/wp-json/wp/v2/* 我试过的问题: Rewrit

我知道这方面已经有很多问题了,但没有解决办法

我正在使用Wordpress安装,编辑器正在请求
https://example.com/wp-json/wp/v2
希望在那里找到Rest API。但是,RESTAPI位于
https://api.example.com/wp-json/wp/v2

如何将任何API请求重定向到
https://example.com/wp-json/wp/v2/*
https://api.example.com/wp-json/wp/v2/*

我试过的问题:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteCond %{THE_REQUEST} /wp-json/(\S*)\s [NC]
RewriteRule ^ http://api.example.com/%1 [L,R=302]
  • 编辑:

    我所尝试的:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
    RewriteCond %{THE_REQUEST} /wp-json/(\S*)\s [NC]
    RewriteRule ^ http://api.example.com/%1 [L,R=302]
    
    已存在
    .htaccess

      <IfModule mod_headers.c>
        <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
          Header Set Access-Control-Allow-Origin "*"
          Header set Cache-Control "max-age=3024000, public"
        </FilesMatch>
      </IfModule>
    
    # BEGIN WordPress
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
    
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE application/json
    </IfModule>
    
    
    标题集访问控制允许原点“*”
    标题集缓存控制“最大年龄=3024000,公共”
    #开始WordPress
    重新启动发动机
    RewriteCond%{HTTP:Authorization}^(.*)
    重写规则^(.*)-[E=HTTP\U授权:%1]
    重写基/
    重写规则^index\.php$-[L]
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写规则/index.php[L]
    #结束WordPress
    AddOutputFilterByType DEFLATE应用程序/json
    
    请不要直接问“我尝试过的问题:…”所有与您的问题相关的信息都应该包含在您的问题本身中,包括您尝试过的内容。另外,其中一些问题有多个答案,我们也不知道您到底修改了什么以适合您的特定用例-因此这种说法更加含糊不清,也没有帮助。尽管如此,但我们并没有尝试重定向,我会检查您是否无法使用
    rest\u url
    过滤器操作这些url。我应该指定我已经尝试了这些问题的每个答案。我把规则添加到操作中了,很抱歉。将尝试rest_url筛选器。无论如何,状态代码为301/302的重定向是个坏主意,因为这样,当浏览器通过对新url发出GET请求来遵循重定向时,您将丢失所有潜在的POST数据。如果有的话,这将需要使用307/308。即使这样,你也会让客户端第二次发送整个请求,因此对于任何较大的POST请求,在性能和流量方面都不是很好。嘿,别担心,当我们讨论可能的问题解决方案时,这不是浪费时间。仅仅是重写东西,如果一个人没有亲自面对整个事情,那么调试就非常困难。
      <IfModule mod_headers.c>
        <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
          Header Set Access-Control-Allow-Origin "*"
          Header set Cache-Control "max-age=3024000, public"
        </FilesMatch>
      </IfModule>
    
    # BEGIN WordPress
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
    
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE application/json
    </IfModule>