我将查询传递给我的搜索结果页面,其变量为:?s=
。如何在URL中传递'&'符号值?
我正在测试该网站,并发现当查询中有&
符号时,当我尝试检索$_GET['s']
时,它在&符号中被剪切。
我试过&
,同时也将它转换为%26
,我仍然有同样的问题。
我如何编码它们以在URL中传递它们?
编辑:
我指出,我试图它编码为%26
,它仍然没有工作。
我urlencode()
和?s=pizza%26pasta
试过当我print_r($_GET)
我得到:
Array ([s] => pizza [pasta] =>)
编辑2:
我刚刚发现这个问题实际上已经做.htaccess
似乎变换了“ &东西'在'&东西='。不知道如何解决它在htaccess中。
这是我的.htaccess文件:
RewriteEngine On
RewriteBase/
# remove www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]
# rewrite to action
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)/?$ /a/?s=$1 [L,QSA]
你试过了urlencode()来 – 2012-08-02 06:23:54
所以要 “&” 也是在一个GET后,所有的声明? – 2012-08-02 06:25:21
我有一种感觉,你的细节中缺少一些东西。你实际上让我仔细检查了这一点,并且我可以在本地和我的一台服务器上使用带'%26'的URI确认不会分割变量。 – Leigh 2012-08-02 06:34:19