htaccess для изменения index.php? ms = пользователь / пользователь

Я хочу перенаправить URL-адрес моего сайта с кодом 301

http://www.domain.com/index.php?ms=user&ms_1=name --> http://www.domain.com/user/name http://www.domain.com/index.php?ms=2652&ms_1=title --> http://www.domain.com/2652/title http://www.domain.com/index.php?ms=questions --> http://www.domain.com/questions http://www.domain.com/index.php?ms=aaa&ms_1=bbb&ms_2=ccc --> http://www.domain.com/aaa/bbb/ccc 

материал после ms может содержать пробел и utf8

Как мне это сделать ?

Это должно работать

 RewriteEngine On RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?ms=(.*)&ms_1=(.*)&ms_2=(.*)\ HTTP RewriteRule ^ /%2/%3/%4\? [R=301,L] RewriteRule ^(.*)/(.*)/(.*)$ /index.php?ms=$1&ms_1=$2&ms_2=$3 [L] RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?ms=(.*)&ms_1=(.*)\ HTTP RewriteRule ^ /%2/%3\? [R=301,L] RewriteRule ^(.*)/(.*)$ /index.php?ms=$1&ms_1=$2 [L] RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?ms=(.*)\ HTTP RewriteRule ^ /%2\? [R=301,L] RewriteRule ^(.*)/$ /index.php?ms=$1 [L] 

Он изменит http://www.domain.com/index.php?ms=aaa&ms_1=bbb&ms_2=ccc на http://www.domain.com/aaa/bbb/ccc , но все, чтобы просмотреть содержимое http://www.domain.com/index.php?ms=aaa&ms_1=bbb&ms_2=ccc т. д. для двух других ссылок, которые у вас есть.

Я считаю, что вы можете включить модуль перезаписи Apache и дать правила перезаписи для этого. Он имеет регулярное выражение с возможностью обратной ссылки. Возможно (потому что я не знакомы с регулярным выражением в модуле перезаписи), который может быть:

  ReWriteRule ^/index.php?ms=(.+) /$1 ReWriteRule ^/index.php?ms=(.+)&ms_1=(.+) /$1/$2 ReWriteRule ^/index.php?ms=(.+)&ms_1=(.+)&ms_2=(.+) /$1/$2/$3 

пожалуйста, следуйте коду, я надеюсь, что это поможет вам.

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?ms=$1 [L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?ms=$1&ms_1=$2 [L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?ms=$1&ms_1=$2&ms_2=$3 [L] 

befor этот код apache rewrite модуль включен