2009-03-21 4 views
2

Недавно я приобрел новый домен для моего сайта WordPress, и я хочу перенаправить всех, кто посещает, используя старый домен для нового. Я не перемещал серверы, просто добавил новый домен.Использование .htaccess для перенаправления из одного домена в другой

Например, если они пошли к одному из них:

http://www.example.net/some-article/ 
http://example.net/some-article/ 

Тогда я хотел бы, чтобы они были перенаправлены на соответствующий URL:

http://www.example.com/some-article/ 
http://example.com/some-article/ 

Как бы вы сделать это просто. net -> .com перенаправить файл .htaccess? Любое правило должно применяться ко всем URL-адресам в домене .net.

Заранее спасибо.


Edit: У меня уже есть файл .htaccess на сервере:

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

# END WordPress 

AddHandler php5-script .php 

ответ

8

Вам нужно добавить такие команды, как это в файл .htaccess:

перенаправлять постоянный/некоторые -article/http://www.example.com/some-article/

Это сервер с mod_rewrite? В этом случае вы могли бы сделать общий переадресацию для всех путей:

RewriteEngine On 

RewriteRule ^(.*)$ http://www.example.com/$1 [R=301] 
+0

Я получаю цикл переадресации, если я добавлю это к моему.htaccess (см. его в отредактированном исходном вопросе) только под RewriteRule. –

+0

Попробуйте удалить старые команды mod_rewrite и посмотреть, разрешает ли это проблема цикла. В противном случае: какой URL (ы) он прокручивает? Один из способов сказать - ввести «wget http://www.example.net/some-article/» в вашу консоль linux. –

+0

+1 для простоты. Также подумал, что вам нужен толчок, чтобы получить более 5000 очков! ;) Хе-хе. – Frankie

0

я преобразовал из Drupal в WordPress некоторое время назад, и я в конечном итоге тратят кучу времени, пытаясь получить эти переадресовывает работать должным образом. Мое большое зависание заключалось в том, как использовать RewriteCond в сочетании с RewriteRule. Вот отрывок из статьи, которую я написал об этом:


# Rewrite drupal urls to worpress 
RewriteCond %{QUERY_STRING} ^q=node/(.+)$ 
RewriteRule ^(.*)$ http://blog.componentoriented.com/?p=%1 [R=301,L] 

# Forward RSS feed 
RewriteCond %{QUERY_STRING} ^q=rss.xml$ 
RewriteRule ^(.*)$ http://blog.componentoriented.com/?feed=rss2 [R=301,L] 
RewriteCond %{QUERY_STRING} ^q=atom/feed$ 
RewriteRule ^(.*)$ http://blog.componentoriented.com/?feed=rss2 [R=301,L] 

Это также очень полезно держать глаз на входящих хитов и ссылок, чтобы увидеть, если кто-то использует старую форму URL, который вы еще не переводил. У меня была входящая ссылка, которая была закодирована как URL-адрес PostNuke (с двух платформ блога назад!), И этот метод очень упростил исправление.

Вот ссылка на мою статью, кстати: Use .htaccess to redirect from Drupal to Wordpress

3

Я хотел бы изменить существующий блок перезаписи, чтобы выглядеть следующим образом:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# New code to redirect from example.net to example.com 
# Permanent redirect for caching purposes, also include the query string 
RewriteCond %{HTTP_HOST} ^example\.net 
RewriteRule (.*) http://example.com/$1 [R=permanent,QSA,L] 

# New code to redirect from www.example.net to www.example.com 
RewriteCond %{HTTP_HOST} ^www\.example\.net 
RewriteRule (.*) http://www.example.com/$1 [R=permanent,QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

AddHandler php5-script .php 

Обратите внимание, что я на самом деле не проверял это ...

REMOTE_HOST также может работать вместо HTTP_HOST. mod_rewrite documentation рекомендует использовать HTTP_HOST, хотя это не будет работать, если Брауэр понимает только HTTP/1.0

+0

спасибо, я люблю полные ответы – IberoMedia

0

старый домен: RewriteCond% {HTTP_HOST}^abcd.com $ [NC]

Новый домен: RewriteRule^(. *) $ http://abcdef.com/ $ 1 [R = 301, L]

Бьюсь об заклад, если вы поместите это в свой старый домен и просто измените вторую строку на новый, используйте свой новый домен, это сработает.

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

  • Нет связанных вопросов^_^