gpt4 book ai didi

regex - .htaccess正则表达式需要使尾随正斜杠成为可选

转载 作者:行者123 更新时间:2023-12-04 09:33:44 26 4
gpt4 key购买 nike

我需要在RewriteRule中包含一个可选的尾随正斜杠,即/。

我到目前为止所拥有的是

RewriteRule ^([a-zA-Z0-9]+)$ u.php?$1|$2

效果很好,例如 http://foo.bar/abcde将重定向到 http://foo.bar/u.php?abcde并处理可能存在的任何查询字符串参数。

我需要做的是将 http://foo.bar/abcde/(带有尾随的正斜杠)并重定向到 http://foo.bar/u.php?abcde

因此,如果存在,我需要在RewriteRule中从$ 1中删除最后的正斜杠。我该怎么做呢?我是Apache的新手,并尝试了许多不同的正则表达式规则,但无法正确执行。

最佳答案

只需将/?放在模式末尾的$之前:

RewriteRule ^([a-zA-Z0-9]+)/?$ u.php?$1

但我宁愿建议您只允许一种拼写(带斜线或不带斜线),然后重定向另一种:
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ /$1 [L,R=301]
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ /$0/ [L,R=301]

关于regex - .htaccess正则表达式需要使尾随正斜杠成为可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2194397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com