Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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进行modrewrite使其更简单_Regex_Mod Rewrite - Fatal编程技术网

使用regex进行modrewrite使其更简单

使用regex进行modrewrite使其更简单,regex,mod-rewrite,Regex,Mod Rewrite,大家好,我正在尝试清理我的mod rewrite页面,如下所示: sales/provider/all/name=asc/page=1 sales/provider/all/name=desc/page=1 目前,我正在使用一个新的行来处理类似的事情: RewriteRule ^sales/provider/all/name=asc/page=([0-9]+)?$ /sales.php?sort=name&order=asc&view=provider&provid

大家好,我正在尝试清理我的mod rewrite页面,如下所示:

sales/provider/all/name=asc/page=1
sales/provider/all/name=desc/page=1
目前,我正在使用一个新的行来处理类似的事情:

  RewriteRule ^sales/provider/all/name=asc/page=([0-9]+)?$ /sales.php?sort=name&order=asc&view=provider&provider_id=all&page=$1 [N,NC,QSA]

  RewriteRule ^sales/provider/all/name=desc/page=([0-9]+)?$ /sales.php?sort=name&order=desc&view=provider&provider_id=all&page=$1 [N,NC,QSA]

使用regex获取“name”和“asc”或“desc”的最简单方法是什么,这样我就可以只有一个规则而不是加载它们。

您应该尽可能多地从原始URI中捕获,而不是重复它:

RewriteRule ^sales/provider/all/name=(asc|desc)/page=([0-9]+)?$ /sales.php?sort=name&order=$1&view=provider&provider_id=all&page=$2 [N,NC,QSA]
RewriteRule ^sales/(provider)/(all)/([^=]+)=([^/]+)/(page=[0-9]+)/?$ /sales.php?sort=$3&order=$4&view=$1&provider_id=$2&$4 [L,NC,QSA]

哦,哇,我喜欢这本书是多么简单,但仍然是描述性的,非常好,谢谢!