我有当前的RewriteRule:
RewriteRule ^search/([0-9a-zA-Z-\s-:]+)(/?)$ search.php?search=$1 [NC,L,NE]
我想要一个类似/ search /#ff2266 /的网址,接受网址中的十六进制(带有#)颜色,然后在$ _GET ['search']变量中使用此值。不仅如此,而且#还是有问题。
我有什么办法可以做这样的事情:([#0-9a-zA-Z- \ s-:] +)?
我尝试了以下规则:
RewriteRule ^search/(.*)(/?)$ search.php?search=$1 [NC,L,NE]
然后在search.php中输入以下代码:
echo "var_dump($_GET): ";
var_dump($_GET);
并使用网址/ search /#f44336 /,结果为:
var_dump(Array): array(0) { }
答案 0 :(得分:0)
请参阅,URI中#后面的部分称为“片段”,根据定义,它仅在客户端可用/处理(请参见https://en.wikipedia.org/wiki/Fragment_identifier)。
在客户端,可以使用带有window.location.hash的javaScript进行访问。
如果您想在搜索文件中访问该号码,则可以将其传递给该号码而无需哈希字符,然后以这种方式使用。