如何使用 .htaccess 从 url 中删除 %20

杰祖利

如何删除 %20,:,/,? 还有更多来自带有 .htaccess 的 url?我已经尝试了这篇文章中的代码,但仍然没有替换/重定向到新的 url .htaccess url 重写并删除 %20

这是我的 .htaccess 代码

    RewriteEngine On
RewriteBase /

# external redirect from actual URL to pretty one (remove query string)
RewriteCond %{THE_REQUEST} \s/+content\.php\?judul=([^\s&]+) [NC]
RewriteRule ^ %1? [R=302,L,NE]

# convert all space (%20) to hyphen
RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [N,NE]
RewriteRule "^(\S*) (\S*)$" $1-$2 [L,R=302,NE]

# rewrite rule to call actual PHP handler
RewriteRule ^([^./]+)\.html$ content.php?judul=$1 [L,QSA,NC]

我的链接
http://localhost/web/content.php?judul=Fate/Apocrypha
http://localhost/web/content.php?judul=Isekai%20wa%20Smartphone%20to%20Tomo%20ni

我想将“%20”和“/”替换为“-”,就像这样。
http://localhost/web/content.php?judul=Fate-Apocrypha/
http://localhost/web/content.php?judul=Isekai-wa-Smartphone-to-Tomo-ni/

阿努巴瓦

您可以在上次重写规则之前添加以下 2 条规则:

# replace %20 and / in QUERY_STRING by hyphen
RewriteCond %{QUERY_STRING} "^([^/]*?)(?:/|%20)+([^/]+?(?:/|%20)+.*)$"
RewriteRule ^ %{REQUEST_URI}?%1-%2 [N,NE]

RewriteCond %{QUERY_STRING} "^([^/]*?)(?:/|%20)+([^/]+?)/?$"
RewriteRule ^ %{REQUEST_URI}?%1-%2/ [L,R=302,NE]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用.htaccess从URL中删除.cgi?

使用 .htaccess 在 URL 中删除重复标记 (?)

如何使用 htaccess 从 URL 中删除子文件夹

如何使用htaccess重写URL以删除PHP中的问号?

如何在codeigniter上使用.htaccess删除URL中的功能

如何使用 .htaccess 删除部分 URL

使用.htaccess从URL删除页码

使用htaccess从codeigniter中的URL中删除index.php

如何刪除 url 中的 %20%20%20?(姜戈)

如何使用htaccess在URL中隐藏内容

如何通过.htaccess删除URL中任意位置的空参数?

如何从URL(.htaccess)中删除子目录的父目录

使用htaccess从URL中删除文件夹名称

使用 htaccess 从 URL 中删除一个孩子

使用 .htaccess 从 URL 中删除“/php/”子目录

尝试使用 .htaccess 文件从 url 中删除参数

使用 htaccess 从 URL 中删除 index.php/

如何使用.htaccess中的RewriteRule重定向到干净的URL(删除最后的hypen)

如何使用.htaccess文件或等效文件从以下URL中删除“ detail.html”?

如何使用htaccess从URL中删除子目录名称?

如何从 URL 中删除文件名和参数,但使用 .htaccess 保留参数值?

通过删除.htaccess中的'www'重定向后如何从url中删除QueryString

如何使用.htaccess重写URL(删除ID?= 1)

如何使用htaccess从特定的URL删除正斜杠

如何使用.htaccess从URL末尾删除数字?

HTACCESS重写url如何删除变量?go =

使用htaccess删除URL末尾的结尾字符

在.htaccess中用+替换URL编码(%20)

301 htaccess,目标 URL 为 %20