我在我的 htaccess 上使用这个正则表达式:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9_-\s]+)/([A-Za-z0-9_-\s]+)/?$ index.php?param1=$1¶m2=$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