Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Htaccess正则表达式以匹配任何字符_Php_Regex_.htaccess - Fatal编程技术网

Php 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&param2=$2 [L,NC] 问题是,这适用于以下任何变化: example.com/search/test product 123 example.com/search/test+product+123 example.

我正在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\.]+)/?$
若要允许点(.)转义,请使用
\.
而不是
。您还可以使用
[^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