2014-10-18 52 views
0

我有一個GET表單,並且傳遞到URL中的變量被重寫爲.htaccess以打開應用程序的自定義URI。我的問題是域名仍然在URI前面重寫。.htaccess重寫規則到自定義URI

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} \?form=selection&numbers=([0-9]+) [NC] 
RewriteRule (.*) customURI:selection%1 [R,NC,L] 

這變成http://domain.com/customURI:selection 「數字」,而不是僅僅customURI:選擇 「數字」。

+0

你在規則中使用'customURI',相對或絕對路徑以及是否有全限定域? – Prix 2014-10-18 17:57:12

+0

我想從結果中剝離域名,所以它只是「customURI:blueorange100011」。然後我的應用程序會識別它。把它看作與mailto類似:然後你的電子郵件客戶端打開。 重寫正在創建它,但它也將該域放在它的前面,我不希望這樣。 – Brando 2014-10-18 18:26:37

+0

一個http URL總是有一個域名,你不能刪除它,如果你這樣做,瀏覽器會給你一個錯誤 – 2014-10-18 20:16:21

回答

0

我想這不是一個答案,但仍然是一個解決方案。

我轉向JS接受提交併推送到一個URL。

<script> 
function process() 
{ 
var url="customURI:" + document.getElementById("var1").value + document.getElementById("var2").value; 
location.href=url; 
return false; 
} 
</script> 

<form onSubmit="return process();"> 
Selection<select id="va1" name="var1"> 
<option value="blah0">Blah 0</option> 
<option value="blah1">Blah 1</option> 
<option value="blah2">Blah 2</option></select> 
Numbers<input id="var2" type="text" size="12" name="numbers"> 
<input type="submit" value="Submit"></form>