我有以下重写规则代码
RewriteRule ^(.*)/(.*)/(.*)$ /page.php?menu=$1&submenu=$2&submenu2=$3 [L,QSA,NC]
RewriteRule ^(.*)/(.*)$ /page.php?menu=$1&submenu=$2 [L,QSA,NC]
RewriteRule ^(.*)$ /page.php?menu=$1 [L,QSA,NC]
我需要它做的是:
如果url类似于mydomain.com/test
,请转到mydomain.com/page.php?menu=test
如果url类似于mydomain.com/test/site
,请转到mydomain.com/page.php?menu=test&submenu=site
如果url类似于mydomain.com/test/site/stuff
,请转到mydomain.com/page.php?menu=test&submenu=site&submenu2=stuff
然而,这些似乎相互冲突。
你知道我如何改进它以使它发挥作用吗。?
保持您的规则如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /page.php?menu=$1&submenu=$2&submenu2=$3 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ /page.php?menu=$1&submenu=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ /page.php?menu=$1 [L,QSA]