所以这可能听起来很奇怪,但我目前有mod_rewrite设置来传递2个变量。
RewriteRule ^profiel/(.*)$ index.php?p=profiel&user=$1
在第二个var(& user =)中,它传递一个用户名,该用户名通过PHP中的GET检索。但是,某些用户名中可能包含问号。但是,如果是这种情况,则问号不会传递给GET变量。 (例如:" www.example.com/profiel/whoami?"最终只是" whoami"而不是" whoami?")
老实说,我不知道如何解决这个问题。任何帮助都会很棒!
答案 0 :(得分:0)
您可以使用PHP函数urlencode
对用户名进行编码。例如,whoami?
将成为whoami%3F
。因此,您的网址将变为www.example.com/profiel/whoami%3F
然后,要检索您的用户名,您可以使用urldecode
。
这里有关于这两个功能的文档:
答案 1 :(得分:0)
您可以直接从THE_REQUEST
变量
RewriteEngine On
RewriteCond %{THE_REQUEST} /(profiel)/(\S+)\s [NC]
RewriteRule ^profiel/ index.php?p=%1&user=%2 [L,NC]