Apache 删除"?param=value"之前的最后一个正斜杠



我试图这样做,但我可以找到答案,只是为了删除 URL 中没有查询参数的最后一个斜杠。基本上我想要实现的是这个

我的原始网址: https://example.com/node/?id=10

我想把它变成这样:https://example.com/node?id=10

是否可以以某种方式使用 mod_rewrite 或类似的东西?

您可以使用此重定向规则从非目录中删除目录,而不会影响查询字符串:

RewriteEngine On
# if not a directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [NE,R=301,L]

您可以尝试这是否适合您的需求:

.htacccess 的内容:

RewriteEngine On
RewriteBase /
DirectorySlash Off
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(?.*)?$ $1$2 [R=301,L]

我只对 https://htaccess.madewithlove.be/进行了快速测试,它似乎按预期运行。

最新更新