我需要将旧域中的请求重定向到新域,同时保留旧域中的页面。
编辑:简而言之,除了1页
之外,所有带有发布数据的.json都会重定向到新域名如果可能的话,我怎样才能完成它? 我使用fiddler在原始视图中进行调试
重定向之前(使用.htaccess方法)
POST http://old.com/data.json HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-N7105 Build/JZO54K)
Host: old.com
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 100
session=gVgr30Erxf03cDaA&store_version=9203b&inventory_version=123
重定向后
GET http://new.com/data.json HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-N7105 Build/JZO54K)
Host: new.com
Connection: Keep-Alive
Accept-Encoding: gzip
答案 0 :(得分:1)
.htaccess
与mod_rewrite
RewriteEngine On
RewriteRule ^page\.json$ - [L]
RewriteCond %{REQUEST_METHOD} =POST
RewriteRule ^(.*\.json)$ http://newdomain.com/$1 [R=307,QSA]
[L]
,请不要更改。[R=307]
到http://newdomain.com/ {page}的数据。同时添加任何网址参数[QSA]
。的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_METHOD} =POST
RewriteRule ^$ http://test.jasny.net/redirect/posthere.php [R=307,QSA]
的index.html
<form action="/redirect/" method="POST">
<input type="text" name="test">
<button type="submit">Submit</button>
</form>
posthere.php
<?
var_dump($_POST);
答案 1 :(得分:0)
我同意arnold,.htaccess,但是如果你想要只有$ _POST数据的请求那么我会创建一个处理请求的小php文件,测试它是否包含post然后重定向到你的旧域,如果没有重定向到新域名
的.htaccess
RewriteCond %{REQUEST_METHOD} =POST
RewriteRule ^foo/bar$ http%1://www.example.com%{REQUEST_URI} [L,R=301]
或将所有流量重定向到php文件并执行:
if( count( $_POST ) < 1 ) {
header( "HTTP/1.0 301 Moved Permanently" );
header( "Status: 301" );
header( "Location: http://".CLIENT_DOMAIN."{$_SERVER['REQUEST_URI']}");
die();//or exit;
}else{////same}