Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Regex mod_使用正则表达式(.*)重写多个参数_Regex_.htaccess_Unicode_Url Rewriting - Fatal编程技术网

Regex mod_使用正则表达式(.*)重写多个参数

Regex mod_使用正则表达式(.*)重写多个参数,regex,.htaccess,unicode,url-rewriting,Regex,.htaccess,Unicode,Url Rewriting,我的url如下所示: http://www.example.com/cat/دسته/page/2/ 如您所见,上面有Unicode字符串。我在htaccess中使用以下指令: RewriteRule ^cat/(.*)/page/([0-9]*)/$ cat.php?cat=$1&page=$2 [L,NC] 这里的问题是正则表达式引擎解析上面的url,它将所有的参数设置为第一个参数,而我只希望Unicode字符串作为第一个参数,整数作为第二个参数 如何做到这一点?除了(.*),之

我的url如下所示:

http://www.example.com/cat/دسته/page/2/
如您所见,上面有Unicode字符串。我在htaccess中使用以下指令:

RewriteRule ^cat/(.*)/page/([0-9]*)/$ cat.php?cat=$1&page=$2 [L,NC]
这里的问题是正则表达式引擎解析上面的url,它将所有的
参数设置为第一个参数,而我只希望Unicode字符串作为第一个参数,整数作为第二个参数

如何做到这一点?除了
(.*)
,之外,还有更好的方法来查找Unicode字符吗?

这有点奇怪--它不应该这样做--一定是Unicode搞乱了整件事

在任何情况下,用这个来代替,它更精确:

RewriteRule ^cat/([^/]+)/page/([0-9]+)/$ cat.php?cat=$1&page=$2 [L,NC]
您可以将
[0-9]
替换为
\d
——这样做完全相同,而且更短