gpt4 book ai didi

php - Htaccess 正则表达式匹配任何字符

转载 作者:行者123 更新时间:2023-12-04 18:13:31 25 4
gpt4 key购买 nike

我在我的 htaccess 上使用这个正则表达式:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9_-\s]+)/([A-Za-z0-9_-\s]+)/?$ index.php?param1=$1&param2=$2 [L,NC]

问题是这适用于任何变化:
example.com/search/test product 123
example.com/search/test+product+123
example.com/search/testproduct123
example.com/search/test%20product%20123

但是,当我在其中输入句点 (.) 时,它不匹配并且我收到 404 消息。我是正则表达式的新手,无法弄清楚添加到 [A-Za-z0-9_-\s] 以允许所有字符的语法。我相信 [.*] 会起作用,但它仍然会将我发送到 404。我想在我目前拥有的重写规则中允许句点。

更新:

那么我将如何看待这个:
^([A-Za-z0-9_-\s]+)/([A-Za-z0-9_-\s]+)/?$

并让它识别这样的字符串:
search/st.+charles

最佳答案

要允许点 (.),您必须对其进行转义,因此请使用 \.而不是 . .您也可以使用[^abc]允许除 abc 之外的所有字符。
编辑:
要在路径中允许点,请使用以下命令:^([A-Za-z0-9_-\s\.]+)/([A-Za-z0-9_-\s\.]+)/?$

关于php - Htaccess 正则表达式匹配任何字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144510/

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