mod_rewrite 后将问号解析为普通字符

Parse question mark as normal character after mod_rewrite(mod_rewrite 后将问号解析为普通字符)
本文介绍了mod_rewrite 后将问号解析为普通字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

So this may sound weird, however I currently have mod_rewrite set-up to pass 2 variables through.

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

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

In the second var (&user=), it passes a username which is retrieved through GET in PHP. However, some of the usernames can have question marks in them. However if this is the case, the question mark won't be passed to the GET variable. (For example: "www.example.com/profiel/whoami?" ends up as just "whoami" instead of "whoami?")

老实说,我不知道如何解决这个问题.任何帮助都会很棒!

I honestly don't know how to solve this problem. Any help would be great!

推荐答案

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

You can use this rule by capturing your values directly from THE_REQUEST variable:

RewriteEngine On

RewriteCond %{THE_REQUEST} /(profiel)/(S+)s [NC]
RewriteRule ^profiel/ index.php?p=%1&user=%2 [L,NC]

这篇关于mod_rewrite 后将问号解析为普通字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)