Php Htaccess正则表达式以匹配任何字符
我正在htaccess上使用此正则表达式:Php Htaccess正则表达式以匹配任何字符,php,regex,.htaccess,Php,Regex,.htaccess,我正在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.
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
要允许点(.)转义,请使用\.
而不是
。您还可以使用[^abc]
允许除abc以外的所有字符
编辑:
要在路径中允许点,请使用以下命令:
^([A-Za-z0-9\-\s\.]+)/([A-Za-z0-9\-\s\.]+)/?$
若要允许点(.)转义,请使用\.
而不是
。您还可以使用[^abc]
允许除abc以外的所有字符
编辑:
要在路径中允许点,请使用以下命令:
^([A-Za-z0-9-\s\]+)/([A-Za-z0-9-\s\]+)/?$
重写规则^([A-Za-z0-9-]+)([/]*)$重写规则^([A-Za-z0-9-]+)([/]*)$我想在重写规则中留出一段时间,使用我目前拥有的内容。那么我将如何处理:^([A-Za-z0-9_-\s]+)/([A-Za-z0-9_-\s]+)/?$并允许它识别如下字符串:search/st.+charles我想在重写规则中使用我当前拥有的内容来允许句点。那么我该如何处理:^([A-Za-z0-9_-\s]+)/([A-Za-z0-9_-\s]+)/?$并允许它识别这样的字符串:search/st.+charles