我试图这样做,但我可以找到答案只是删除URL中的最后一个斜杠而没有查询参数。基本上我想要实现的是这个
我原来的网址: https://example.com/node/?id=10
我希望将其转换为:https://example.com/node?id=10
这是否可能以某种方式使用mod_rewrite或类似的东西?
答案 0 :(得分:1)
您可以使用此重定向规则从非目录中删除目录,而不会影响查询字符串:
RewriteEngine On
# if not a directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [NE,R=301,L]
答案 1 :(得分:0)
如果这符合您的需求,您可以尝试:
.htacccess的内容:
RewriteEngine On
RewriteBase /
DirectorySlash Off
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]
我只对https://htaccess.madewithlove.be/进行了快速测试,似乎正常运作。