說明:A網站--->B網站--->C網站--->D網站,其中A為提交網站,可以通過get或者post表單傳值,然后在B網站做301跳轉,跳轉到C網站。然后在從C網站跳轉到網關D。
具體代碼實現步驟如下:
(1):A網站:只是一個簡單的form表單提交:
<form action="
<input type="hidden" value="abc" name="param">
<input type="submit"/>
</form>
(2):B網站:首先在B網站目錄中寫一個重寫文件.htaccess。具體如下:
RewriteEngine On //開始重寫引擎
// .htaccess放到B網站/test2/目錄下,表示該301跳轉只在/test2/起作用,其他的目錄則不起作用。
RewriteBase /test2/
// http://192.168.5.17:8090/test2/index.php 為B網站目錄地址
RewriteCond %{HTTP_HOST} !http://192.168.5.17:8090/test2/index.php [NC]
//
http://192.168.5.17:8080/servlet01/dispatcher.jsp 為C網站地址
RewriteRule ^(.*)$
http://192.168.5.17:8080/servlet01/dispatcher.jsp [L,R=301]
(3):C網站:首先獲取A網站提交的參數:
String param = request.getParameter("param");
然后再組裝form表單:
<form action="
<input type="hidden" value="<%=param %>" name="TradeInfo">
<input type="submit"/>
</form>
(4): D網站:獲取從C網站提交過來的參數。
重點:做了301跳轉后,從C網站中可以獲取到A提交過來的參數,而且C網站獲取的來源網站居然是A網站,而不是B網站地址。經過測試發(fā)現:在B網站301跳轉時,已經把從A網站提交的參數,組裝成get方式提交方式(而不管你在A采用的是post還是get提交方式),
即:<a href="
> 然后會自動跳轉到C網站。