php-在mod_rewrite之后将问号解析为普通字符

所以这听起来很奇怪,但是我目前有mod_rewrite设置来传递2个变量.

RewriteRule ^profiel/(.*)$index.php?p=profiel&user=$1

在第二个var(& user =)中,它传递一个用户名,该用户名通过PHP中的GET检索.但是,某些用户名中可能带有问号.但是,如果是这种情况,问号将不会传递给GET变量. (例如:“ www.example.com/profiel/whoami?”最终只是“ whoami”而不是“ whoami?”.)

老实说,我不知道如何解决这个问题.任何帮助将是巨大的!

解决方法:

您可以通过直接从THE_REQUEST变量捕获值来使用此规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} /(profiel)/(\S+)\s [NC]
RewriteRule ^profiel/ index.php?p=%1&user=%2 [L,NC]
上一篇:php-隐藏通过href标记传递的参数


下一篇:php-使用路由为seo目的隐藏或删除url中的控制器名称= codeigniter