There is htaccess. It is necessary that when entering site.ru/123/321/, it would not give out 404, but 301 redirect to site.ru/123/321. Also for all levels of nesting: site.ru/123/321/321/321/ on site .ru / 123/321/321/321 and so on.
RewriteEngine On #RewriteCond %{HTTP_HOST} ^site.ru #RewriteRule (.*) http://www.site.ru/$1 [R=301,L] RewriteRule ^([^/\.]+)$ ?param1=$1 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)$ ?param1=$1¶m2=$2 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)$ ?param1=$1¶m2=$2¶m3=$3 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)$ ?param1=$1¶m2=$2¶m3=$3¶m4=$4 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)$ ?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)$ ?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5¶m6=$6 [QSA,L] RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)$ ?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5¶m6=$6¶m7=$7 [QSA,L] AddDefaultCharset utf-8 php_flag magic_quotes_gpc Off