.htaccess url中带有特殊字符的有关问题
.htaccess url中带有特殊字符的问题
RewriteRule ^(r|R)(e|E)(g|G)/step2/(.*)/?$ do.php?ac=6a538ae003e30eacbd5b0c1f1d18aa50&op=active&hash=$4
偶在.htacess文件中定义上面的规则,希望
http://127.0.0.1/reg/step2/3635DBp6n66a0oRy3cvN3OvtCoPu5I2gJU2S8MyQLppdkp4wma6wjjaTBSYp%2FT189%2BJz能被解析为
http://127.0.0.1/do.php?ac=6a538ae003e30eacbd5b0c1f1d18aa50&op=active&hash=3635DBp6n66a0oRy3cvN3OvtCoPu5I2gJU2S8MyQLppdkp4wma6wjjaTBSYp%2FT189%2BJz
现在运行的时候好像有点问题,hash参数中带有特殊符号,无法正确解析,提示Object not found!
如果直接输入http://127.0.0.1/reg/step2/3635DBp6n66a0oRy3cvN3OvtCoPu5I2gJU2S8MyQLppdkp4wma6wjjaTBSYp/T189+Jz(即/和+等特殊符号不经过urlencode)可以解析,但是这样一来,hash中的参数无法还原成原来的参数。(hash参数中有2个值经过一个自定义函数加密传递,调用解码函数可以还原其中的2个值)
------解决方案--------------------
urlencode()
接收数据后 urldecode() 再调用你的解密函数
------解决方案--------------------
^(r|R)(e|E)(g|G)/ 何必这样。直接[NC]
------解决方案--------------------
实在不行 就
$url = 'xxx';
$url = urlencode(str_replace('/','!',$url));
..........
接收数据的时候
$url = urldecode(str_replace('!','/',$url));

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP function introduction—get_headers(): Overview of obtaining the response header information of the URL: In PHP development, we often need to obtain the response header information of the web page or remote resource. The PHP function get_headers() can easily obtain the response header information of the target URL and return it in the form of an array. This article will introduce the usage of get_headers() function and provide some related code examples. Usage of get_headers() function: get_header

Nowadays, many Windows users who love games have entered the Steam client and can search, download and play any good games. However, many users' profiles may have the exact same name, making it difficult to find a profile or even link a Steam profile to other third-party accounts or join Steam forums to share content. The profile is assigned a unique 17-digit id, which remains the same and cannot be changed by the user at any time, whereas the username or custom URL can. Regardless, some users don't know their Steamid, and it's important to know this. If you don't know how to find your account's Steamid, don't panic. In this article

The reason for the error is NameResolutionError(self.host,self,e)frome, which is an exception type in the urllib3 library. The reason for this error is that DNS resolution failed, that is, the host name or IP address attempted to be resolved cannot be found. This may be caused by the entered URL address being incorrect or the DNS server being temporarily unavailable. How to solve this error There may be several ways to solve this error: Check whether the entered URL address is correct and make sure it is accessible Make sure the DNS server is available, you can try using the "ping" command on the command line to test whether the DNS server is available Try accessing the website using the IP address instead of the hostname if behind a proxy

Use url to encode and decode the class java.net.URLDecoder.decode(url, decoding format) decoder.decoding method for encoding and decoding. Convert into an ordinary string, URLEncoder.decode(url, encoding format) turns the ordinary string into a string in the specified format packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net. URLEncoder

Hash operation //Assign values to fields in the hash table. Returns 1 on success and 0 on failure. If the hash table does not exist, the table will be created first and then the value will be assigned. If the field already exists, the old value will be overwritten. $ret=$redis->hSet('user','realname','jetwu');//Get the value of the specified field in the hash table. If the hash table does not exist, return false. $ret=$redis->hGet('user','rea

Differences: 1. Different definitions, url is a uniform resource locator, and html is a hypertext markup language; 2. There can be many urls in an html, but only one html page can exist in a url; 3. html refers to is a web page, and url refers to the website address.

Scrapy is a powerful Python crawler framework that can be used to obtain large amounts of data from the Internet. However, when developing Scrapy, we often encounter the problem of crawling duplicate URLs, which wastes a lot of time and resources and affects efficiency. This article will introduce some Scrapy optimization techniques to reduce the crawling of duplicate URLs and improve the efficiency of Scrapy crawlers. 1. Use the start_urls and allowed_domains attributes in the Scrapy crawler to

Preface In some cases, the prefixes in the service controller are consistent. For example, the prefix of all URLs is /context-path/api/v1, and a unified prefix needs to be added to some URLs. The conceivable solution is to modify the context-path of the service and add api/v1 to the context-path. Modifying the global prefix can solve the above problem, but there are disadvantages. If the URL has multiple prefixes, for example, some URLs require prefixes. If it is api/v2, it cannot be distinguished. If you do not want to add api/v1 to some static resources in the service, it cannot be distinguished. The following uses custom annotations to uniformly add certain URL prefixes. one,
