2014-10-18 53 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>