删除尾部斜杠,除了一个

remove trailiing slash except one

我在下面有以下代码;

RewriteRule  ^((?!fr|en).*)\/(\?.*)?$     / [L,R=301]

在我尝试的时候;

example.com/fr/ 
example.com/en/

转为

example.com/fr/
example.com/en/

这是我想要的,但是一旦我尝试了;

example.com/frabcdefg/
example.com/enabcedefg/

然后它不会删除结尾的斜线,因为它以 en 或 fr 开头,但它应该是。

有什么办法吗?

编辑: 我在下面尝试时想要实现的是;

example.com/fr/

应该没有改变如下;

example.com/fr/

然而一旦我尝试;

example.com/frabcde/

应该转为;

example.com/frabcde

应删除末尾的斜杠。

您可以在 root .htaccess 中使用此规则:

RewriteEngine On

RewriteRule ^((?!(?:fr|en)/).+?)/$ / [L,NC,R=302]