301 перенаправить старые проиндексированные URL - PullRequest
0 голосов
/ 25 декабря 2011

У моего клиента был блог WordPress по адресу "domain.com/blog" со структурой постоянной ссылки "? P = page-id". Я заархивировал этот сайт на "v1.domain.com". все отлично работает

Я создаю новый блог WordPress по адресу "domain.com/blog" со структурой постоянной ссылки "/ year / month / postname". Тем не менее, все в порядке.

Я сделал поиск в Google и нашел старые сообщения в блоге. они ссылаются на «domain.com/blog?p=page-id», и когда single.php пытается открыть эти файлы, цикл сходит с ума.

вот пример: http://davidapuzzo.com/blog/?p=1821

если вы добавите «v1» в начало домена, вы увидите, где на самом деле находится сообщение:

http://v1.davidapuzzo.com/blog/?p=1821

Я понимаю, что это был бы редирект 301, который находит все "http://domain.com/blog?p=page-id" URL-адреса и перенаправляет / добавляет их с помощью" v1.domain.com ... "? Я просто не знаю, как написать выражение reg и куда добавить это в моем файле WordPress .htaccess.

Я включил свой WordPress .htaccess ниже:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Мой клиент имеет несколько глубоко проиндексированных URL-адресов, как вы можете увидеть выше с помощью Connecticut Weatherman / Meterologist. этот пост является 6-м результатом на первой странице результатов поиска по его имени.

Новый сайт был запущен сегодня, и любая помощь будет принята с благодарностью. Спасибо!

1 Ответ

2 голосов
/ 25 декабря 2011

Попробуйте это правило:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^davidapuzzo.com
RewriteCond %{QUERY_STRING} ^p= [NC]
RewriteRule blog/(.*)$ http://v1.davidapuzzo.com/blog/ [L,R=301]

Чтобы перенаправить все URL-адреса, содержащие строку запроса, на поддомен, используйте следующее.Это перенаправит все URL, содержащие '?'.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^davidapuzzo.com
RewriteCond %{QUERY_STRING} .
RewriteRule blog/(.*)$ http://v1.davidapuzzo.com/blog/ [L,R=301]
...