Перенаправление со старых проиндексированных страниц с перезаписью URL - PullRequest
1 голос
/ 09 августа 2011

У меня есть несколько старых проиндексированных страниц в Google, которые нужно перенаправить на новые места.Пример: Google показывает wwww.domain.com/pages/subpages/page.php, который сейчас находится в www.domain.com/pages/page.php.

Мне также нужно, когда кто-то нажимает на старую страницу в Google, чтобы открыть переписанный URL.Пример: пользователь нажимает на wwww.domain.com/pages/subpages/page.php, он открывает его wwww.domain.com/pages/page.php, но с www.domain.com/page в адресной строке (без "pages /" и расширения php).

Итак, я написал этот код .htaccess

Redirect 301 /pages/subpages/page.php http://www.domain.com/page
RewriteEngine On
RewriteRule ^page/?$ /pages/page.php 

Перенаправление работает, но у пользователя в адресной строке есть полный URL (http://www.domain.com/pages/page.php), а не переписанный (http://www.domain.com/page).Похоже, что mod_rewrite не работает с редиректом или чем-то еще.

Есть ли какое-нибудь решение?

1 Ответ

1 голос
/ 09 августа 2011

Этот код отлично работает для меня:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

# 301 redirect
RewriteRule ^pages/subpages/page\.php$ http://www.domain.com/page [R=301,L]

# rewrite
RewriteRule ^page/?$ /pages/page.php [L]

Убедитесь, что у вас нет других перенаправлений / перезаписей в файле htaccess, поскольку они могут выполнять дополнительные действия по перезаписи / перенаправлению.

...