Я пытаюсь создать mod_rewrite, который при входе пользователя или отображении в URL:
www.example.com/var1/var2/var3/var4/
выводит то же самое, что и
www.example.com?page=var1&cat=var2&subcat=var3&subsubcat=var4
, но при наличииизменение числовых переменных, оно все равно будет работать, поэтому переменные могут быть:
www.example.com/var1/
or
www.example.com/var1/var2/
or
www.example.com/var1/var2/var3/
or
www.example.com/var1/var2/var3/var4/
Если я использую следующее, это работает только для www.example.com/var1/var2/var3/var4/ но не остальные:
Options +FollowSymLinks RewriteEngine On RewriteBase /
RewriteRule ^([^&]+)/([^&]*)/([^&]*)/([^&]*)/$ /?page=$1&cat=$2&subcat=$3&subsubcat=$4 [L]
Если я использую следующий код, используя CHAINING, он в некоторой степени работает как цепочка, но проблема в том, что для
www.example.com/var1/var2/
www.example.com/var1/var2/var3/
www.example.com/var1/var2/var3/var4/
он выводитVAR1 как «/», поэтому первая переменная игнорируется с использованием следующего кода:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([^&]+)/$ /?page=$1 [C]
RewriteRule ^([^&]+)/([^&]*)/$ /?page=$1&cat=$2 [C]
RewriteRule ^([^&]+)/([^&]*)/([^&]*)/$ /?page=$1&cat=$2&subcat=$3 [C]
RewriteRule ^([^&]+)/([^&]*)/([^&]*)/([^&]*)/$ /?page=$1&cat=$2&subcat=$3&subsubcat=$4 [L]
Порядок всегда одинаков, поэтому это должно быть легко.Как я могу сделать эту работу, пожалуйста?