regex - 在 .htaccess 文件的正则表达式中包含 URL 编码字符
问题描述
.htaccess
对于不同语言的特殊字符,我需要在我的文件的正则表达式中包含 URL 编码符号。
我有以下内容,其中包括空格字符%20
:
RewriteRule ^search/([0-9a-zA-Z\s-]+)/?$ search.php?search=$1 [L,NC,QSA]
但我需要能够包含像õ
which is这样的字符%C3%B5
。
基本上我需要它来包含任何带有字符的 URL 编码%
字符。
解决方案
您可以使用[^\/]
否定字符类:
^search/([^\/]+)/?$
它匹配
^
- 字符串的开始search/
- 文字子串([^\/]+)
- 捕获组 1(它匹配的内容用 引用$1
):除此之外的任何 1+ 个字符/
/?
- 一个可选的/
$
- 字符串结束。
推荐阅读
- node.js - Node.JS 应用程序 - 任务和 API
- java - 如何使用 Thymleaf 在 Spring Boot 应用程序中正确缓存数据
- json - Reacts Js:解析wordpress页面的问题
- sql - 总结最后两条记录,包括组的最后一条记录
- powershell - 在 PowerShell 中处理日期时间
- c++ - 如何在 MXNet C++ 实现中使用 .rec 格式进行训练?
- python-3.x - Python说我想给一个数字的任何变量都是字面量并且无法打印
- jenkins - 如何获得 Jenkins Pipeline 构建以显示特定分支的更改历史记录(更改)
- ios - 包含 UUID 的结构的奇怪调试行为
- workflow - SOA Suite Jdeveloper 在 macbook 上花费了太多时间