Регулярное выражение 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.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\.]+)/?$

RewriteRule ^ ([a-zA-Z0-9 -] +) ([/] *) $