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

标签 regex .htaccess mod-rewrite url-rewriting

我的意思是空参数可以在 URL 中的任何地方,每次不同的地方,每次都有不同的名称,每次在不同的 php 页面上,例如:

http://www.example.com/AnyPHPpageHere.php?parameter1=7&parameter2=&parameter3=blue&parameter4=

形式:

 http://www.example.com/AnyPHPpageHere.php?parameter1=7&parameter3=blue

那么如何通过 .htaccess 实现呢?

最佳答案

您可以使用此 URL 从 URL 中的任何位置删除任何一个或多个空参数:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.+?&)?[^=]+=(?:&(.*))?$
RewriteRule ^ %{REQUEST_URI}?%1%2 [R=302,L,NE]

关于regex - 如何通过 .htaccess 删除 URL 中任意位置的空参数或参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34527744/

相关文章:

php - 将电子邮件地址中的用户名部分替换为星号

.htaccess - 如何从 url 中删除重复的字符?

apache - htaccess 文件拒绝所有,重定向到 404 在 403.shtml 上找不到,但未定义自定义错误页面

apache - htaccess 重写条件以排除文件类型,除了具有特定父目录的文件类型

.htaccess - 从重定向重写规则中排除图像文件夹

php - 如何在 PHP 中重写 URL?

c# - 仅在整行匹配正则表达式时才替换模式

Java 正则表达式 : how to use OR operation to extract substring

java - 组合多个正则表达式从 : separated string 中提取子字符串

mod-rewrite - 搜索引擎如何发现平面链接?