我有一个表格有3个参数的网页,比如
http://www.likeforex.com/currency-converter/fxconverter.php?f=euro-eur&t=usd-us-dollar&amt=1
我使用.htaccess将页面重写为:f_t.htm/amt
as:
http://www.likeforex.com/currency-converter/euro-eur_usd-us-dollar.htm/1
但是,我的问题是当用户更改amt的值(页面中间)时,表单将被重新汇总,并且重新汇总的页面仍然是参数格式。如何在重写格式后制作网址?
提交按钮或其他任何内容都有问题?
the form:
<form name="e" method="get" action="fxconverter.php">
the amt parameter:
<input type="text" id="amt" name="amt" size="16" maxlength="16" value="'.$amt.'" onclick="this.focus();this.select();" />'
the submit button:
<input type="submit" value="Convert" class="bt" />
the .htaccess line:
RewriteRule ^(.*)_([^_]+)\.htm/([^/]+)$ fxconverter.php?f=$1&t=$2&amt=$3 [NC]
非常感谢你。
答案 0 :(得分:1)
您无法使用表单,无论POST/GET
如何,并希望输出的参数类似于网址,例如http://www.likeforex.com/currency-converter/euro-eur_usd-us-dollar.htm/1
你需要做的是稍微更改表单并使用javascript构建网址然后重定向。
<script>
function goForm(form){
f = form.elements["f"].value;
t = form.elements["t"].value;
amt = form.elements["amt"].value;
window.location.href = 'http://www.likeforex.com/currency-converter/'+f+'_'+t+'.htm/'+amt;
}
</script>
<form name="currencyForm" method="GET" action="">
<input id="f" name="f" value="euro-eur" type="hidden">
<input id="t" name="t" value="usd-us-dollar" type="hidden">
<input id="amt" name="amt" size="16" maxlength="16" value="1" onclick="this.focus();this.select();" type="text">
<input type="button" name="button" value="Click" onClick="goForm(this.form)">
</form>
然后你可以利用mod_rewrite。
我个人会废弃GET
(对于花哨的网址)而只使用POST
。搜索引擎不会查询您的表单,因此使用GET没有任何优势,只有这样才能让想要刮掉您的内容的人更容易消化其工作。还记得没有启用javascript的任何人都不能在我的解决方案中使用该表单。