如何获得没有2%e%23等的URL

时间:2012-10-28 11:14:38

标签: joomla

我为搜索结果创建了一个表单:

<form id="searchForm" action="<?php echo JRoute::_('index.php?option=com_new');?>" method="get">

<fieldset class="word">
    <label for="search-searchword">
        <?php echo Word; ?>
    </label>
    <input type="text" name="<?php echo JRoute::_('index.php?option=com_new');?>searchword" id="search-searchword" size="30" value="<?php echo $this->escape($this->origkeyword); ?>" class="inputbox" />


    <button name="Search" onclick="this.form.submit()" class="button"><?php echo Submit;?></button>
    <input type="hidden" name="task" value="search" />

</fieldset>

我得到的网址是:

/index.php?%2Fsearch%2Findex.php%3Foption%3Dcom_newsearchword=&Search=&task=search

1 个答案:

答案 0 :(得分:1)

网址由几个部分组成,例如子域,域,路径,网址参数。对于所有这些部分,您有一定的规则。一条规则说:您可能没有URL参数中的某些字符。特别是不是用于描述参数本身的字符,如:

  • ?用于标记url参数部分
  • 的开头
  • &安培;用于标记任何其他url参数的开头
  • =用于标记url参数值的开头。

因此必须对这些字符进行编码。这就是你所看到的。如果您需要获取第一个(未命名的)url参数,然后解码它。

这可能会有所帮助: http://php.net/manual/en/function.urldecode.php