Apache 如何使用部分参数作为标识符创建htaccess重写规则

Apache 如何使用部分参数作为标识符创建htaccess重写规则,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我需要一些关于重写规则的帮助 我有下面的现有规则,它运行良好,重定向如下: www.site.com/page.php?type=1&category=2&cond=3 redirected to www.site.com/1/2/3/ RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /page.php?type=$1&category=$2&cond=$3 [L] 现在我需要创建一个新规则,它不会干扰上面的规则 所以这个url:

我需要一些关于重写规则的帮助

我有下面的现有规则,它运行良好,重定向如下:

www.site.com/page.php?type=1&category=2&cond=3
redirected to
www.site.com/1/2/3/

RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /page.php?type=$1&category=$2&cond=$3 [L]
现在我需要创建一个新规则,它不会干扰上面的规则

所以这个url:

www.site.com/page.php?type=1&category=2&page=page-1
should redirect to:
www.site.com/1/2/page-1/
显然,浏览器应该以某种方式区分
www.site.com/1/2/3/
www.site.com/1/2/page-1/

此差异可能是第三个参数的一部分,该参数将始终保持不变:
page-

我知道我需要以某种方式修改新规则的这一部分
([^/]*)
,但到目前为止,我所做的任何尝试都无法解决这一问题


有什么建议我应该如何做到这一点吗?

有以下两条规则:

RewriteRule ^([^/]+)/([^/]+)/(page-[^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA,NC]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA]

将以下两条规则按此顺序排列:

RewriteRule ^([^/]+)/([^/]+)/(page-[^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA,NC]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA]

将以下两条规则按此顺序排列:

RewriteRule ^([^/]+)/([^/]+)/(page-[^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA,NC]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA]

将以下两条规则按此顺序排列:

RewriteRule ^([^/]+)/([^/]+)/(page-[^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA,NC]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /page.php?type=$1&category=$2&cond=$3 [L,QSA]

你应该可以这样做你的规则

RewriteRule ^([^/]*)/([^/]*)/page-([^/]*)/?$ /page.php?type=$1&category=$2&page=page-$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /page.php?type=$1&category=$2&cond=$3 [L]

你应该可以这样做你的规则

RewriteRule ^([^/]*)/([^/]*)/page-([^/]*)/?$ /page.php?type=$1&category=$2&page=page-$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /page.php?type=$1&category=$2&cond=$3 [L]

你应该可以这样做你的规则

RewriteRule ^([^/]*)/([^/]*)/page-([^/]*)/?$ /page.php?type=$1&category=$2&page=page-$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /page.php?type=$1&category=$2&cond=$3 [L]

你应该可以这样做你的规则

RewriteRule ^([^/]*)/([^/]*)/page-([^/]*)/?$ /page.php?type=$1&category=$2&page=page-$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /page.php?type=$1&category=$2&cond=$3 [L]