.htaccess - URL 友好替换 %20 为“-”
问题描述
我想更改 URL 中“-”的 %20,使其对 url 友好,我已经尝试了所有方法,但没有任何效果,不是 htaccess、java 或 php。
这是我的链接示例,一点也不友好: https ://www.ugocd.com/ilustracion_galeria_clasica?id=Retrato%20digital%20Charles%20Chaplin
这是我的一些代码:
<a href="ilustracion_filtro?id=<?php echo $categoria; ?>
解决方案
如果没有看到您的代码,很难说出您的问题到底是什么,但我怀疑这里发生的事情是一种误解。
%20
不是文字字符串,您不应尝试将其视为一个字符串。%XX
在 URL 中,XX 是两个十六进制字符,是URL 编码的字符串。不是 URL 安全的值(即......除了基本的 US-ASCII 之外的几乎任何东西)都以这种方式编码,以便它们成为 URL 安全的。空格的 US-ASCII 代码点是 20,因此它被编码为%20
. 当您%20
在 URL 中看到时,您实际上是在处理一个空格,而不是文字百分比字符、一个 2 和一个零。
因此,如果您尝试通过执行以下操作将此值替换为其他值:
str_replace("%20", "", $url)
那是行不通的,因为您要替换的是文字字符串而不是实际值。试试这个:
str_replace(" ", "", $url)
推荐阅读
- javascript - 在浏览器刷新时替换特定列的内容
- android - 滚动recyclerview时隐藏BottomAppBar(在Activity中)和Appbarlayout(在片段中)
- flutter - 如何在颤振应用程序中使用来自 tflite 模型的预测功能
- ios - 为什么我在保存 managedObjectContext 时得到 nilError?
- r - 基于lm规范在数据集中自动创建变量
- mysql - SQL Countifs 和 Sumifs 函数
- ios - 如何在 SafariViewController 中禁用防止跨站点跟踪
- flutter - 为什么我的函数不接受颜色类型的参数名称?
- python - 如何使用python从文件中删除多行
- json - 使用 axios.post 发送带有数组元素的 JSON