2015-03-10 3 views
1

Привет всем, у меня есть несколько страниц с именами людей. И им нужно переместить их в подпапку, но каким-то образом перенаправить старую страницу на новую, поэтому, когда посетитель проверяет старую страницу, чтобы перенаправить ее на новую, но я бы хотел удалить идентификатор человека из URL-адреса состав.Переписать динамическую структуру url

http://domain.com/john-p001/  -> http://domain.com/person/john/ 

http://domain.com/george-p002/  -> http://domain.com/person/george/ 

Что я делал в моей текущей установки на .htaccess

## internal forward from pretty URL to actual one 
RewriteRule ^([^/]+)-p([0-9]+)\/$ person.php?name=$1&id=$2 [L,NC,QSA,NE] 

Другой вопрос, у меня есть, будет ли это редирект держать поисковой системы ранга на этих страницах?

+0

Как вы получите идентификатор из 'Http: // domain.com/человек/джон /'? – anubhava

+0

Джон может быть уникальным для людей, поэтому будет только 1 id. – Incognito

+0

Так что 'http: // domain.com/person/john /' должен быть внутренне переписан как '/person.php? Name = john'? – anubhava

ответ

1

Вы можете использовать это правило в корневом .htaccess:

Options -MultiViews 
RewriteEngine On 
RewriteBase/

# redirect old URLs to newer ones 
RewriteRule ^([^-]+)-p([0-9]+)/?$ /person/$1 [L,NC,R=302] 

## internal forward from pretty URL to actual one 
RewriteRule ^person/([\w-]+)/?$ person.php?name=$1 [L,NC,QSA] 
+0

Большое спасибо за немедленный ответ, что-то еще, прежде чем я это проведу. Может быть, через несколько месяцев я смогу удалить прежнее правило нового URL или я должен держать это навсегда? – Incognito

+0

Вы можете сохранить это старое до нового правила навсегда, нет необходимости его удалять. Вы никогда не знаете, кто это сделал. – anubhava

+1

Вы правы закладки, и старые ссылки будут нуждаться в этом правиле, спасибо большое. – Incognito

Смежные вопросы