.htaccess 重写url';s没有第二个变量

.htaccess 重写url';s没有第二个变量,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个url,可以是以下任意一个: 1. example.com/index/var1=word&var2=word&var3=number&var4=number&var5=word&var6=word&page=number 2. example.com/index/var1=word&var2=word&var3=number&var4=number&var5=word&var6=word 3.

我有一个url,可以是以下任意一个:

1.  example.com/index/var1=word&var2=word&var3=number&var4=number&var5=word&var6=word&page=number
2.  example.com/index/var1=word&var2=word&var3=number&var4=number&var5=word&var6=word
3.  example.com/index/var1=word&var3=number&var4=number&var5=word&var6=word&page=number
4.  example.com/index/var1=word&var3=number&var4=number&var5=word&var6=word
这是我当前的访问权限:

RewriteCond %{THE_REQUEST} /index\?var1=([^&\s]+)&var2=([^&\s]+)&var3=([^&\s]+)&var4=([^&\s]+)&var5=([^&\s]+)&var6=([^&\s]+) [NC]
RewriteRule ^ index/%1/%2/%3/%4/%5/%6? [L,R=302,NE]

RewriteRule ^index/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?var1=$1&var2=$2&var3=$3&var4=$4&var5=$5&var6=$6&page=$7 [L,QSA]
RewriteRule ^index/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?var1=$1&var2=$2&var3=$3&var4=$4&var5=$5&var6=$6 [L,QSA]
RewriteRule ^index/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?var1=$1&var3=$2&var4=$3&var5=$4&var6=$5 [L,QSA]
URL的1、2和4正常工作,但URL编号3被解读为:

 3.  RewriteRule ^index/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?var2=$1&var3=$2&var4=$3&var5=$4&var6=$5 [L,QSA]

需要更改什么?

您可以根据您的条件和规则模式选择匹配第二个参数:

RewriteCond %{THE_REQUEST} /index\?var1=([^&\s]+)(?:&var2=([^&\s]*/?))?&var3=([^&\s]+)&var4=([^&\s]+)&var5=([^&\s]+)&var6=([^&\s]+) [NC]
RewriteRule ^ index/%1/%2%3/%4/%5/%6? [L,R=302,NE]

RewriteRule ^index/([^/]+)/([^/]*/)?([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?var1=$1&var2=$2&var3=$3&var4=$4&var5=$5&var6=$6&page=$7 [L,QSA]

我应该只使用一个
RewriteCond%{the_REQUEST}
还是同时使用两个?你能为所有4个URL显示一个完整的例子吗?内部服务器错误