Mod_Rewrite: тестовый URL проиндексирован в Google. Как создать правильное перенаправление 301? - PullRequest
1 голос
/ 16 июня 2010

Я работал на веб-сайте, для которого у меня был «URL-адрес разработки», который выглядел примерно так:

www.example.com.php5-9.dfw1-2.example.com /

Теперь, через несколько недель после запуска веб-сайта, по крайней мере одна страница контента проиндексирована в Google с этим URL.

Вопрос. Как перенаправить все запросы с этого тестового URL-адреса для перенаправления на фактический домен?

Так, например, я бы хотел:

www.example.com.php5-9.dfw1-2.example.com страница имя /

Чтобы перейти к:

www.example.com страница имя /

Сайт работает на WordPress и размещается на сервере PHP. Я экспериментировал с .htaccess без особого успеха.

Ответы [ 2 ]

3 голосов
/ 16 июня 2010

Учитывая, что вашей основной мотивацией для этой проблемы является тот факт, что Google проиндексировал ваши страницы на тестовом сервере, я считаю, что попытка использовать функциональность mod_rewrite для поддержания этих ссылок активными немного избыточна (и непроста).

Вместо этого я бы предложил Инструменты Google для веб-мастеров и зарегистрироваться как в месте тестирования, так и в месте производства.После этого вы сможете запросить удаление URL-адресов в поддомене тестирования, а также запросить обход рабочего URL-адреса (тем самым удалив тестовые ссылки и заменив их производственными ссылками).

1 голос
/ 25 июня 2010

Если www.example.com должно быть единственным допустимым именем хоста на вашем сервере, вы можете использовать это правило, чтобы принудительно задать это имя хоста:

RewriteCond %{HTTP_HOST} !^(www\.example\.com|)$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.example.com%{REQUEST_URI} [L,R=301]

В противном случае попробуйте это правило, чтобы перенаправить только определенное имя хоста:

RewriteCond %{HTTP_HOST} =www.example.com.php5-9.dfw1-2.example.com
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.example.com%{REQUEST_URI} [L,R=301]

Вы можете дополнительно проверить метод запроса в REQUEST_METHOD , поскольку это правило будет соответствовать любому методу (GET, а также POST).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...