2011-07-21 5 views
0

Я пытаюсь создать некоторые переадресации с .htaccess, но мне никогда не удастся получить его полностью функциональным. Может быть, кто-то здесь может мне помочь.Проблема с перенаправлением домена .htaccess

Что мне нужно:

  1. http://domain.se и http://domain.com для перенаправления http://www.domain.com.

  2. Мне также нужно http://domain.se/somefolder, http://domain.com/somefolder, а также http://www.domain.se/somefolder для перенаправления http://www.domain.com/folder.

Я попытался выполнить это самостоятельно, но все, что у меня заканчивается, - это ошибки в отношении того, что данные не отправляются.

ответ

1
Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

# folder rewrite 
RewriteRule ^somefolder$ folder [L] 

# domain redirect 
RewriteCond %{HTTP_HOST} =domain.com [OR] 
RewriteCond %{HTTP_HOST} =domain.se 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 
  1. Это должен быть помещен в .htaccess файл в корневой папке сайта. Если в другом месте может потребоваться настройка.

  2. Первое правило будет переписывать (внутреннее перенаправление) запросов на /somefolder до /folder. Если вам нужно, чтобы это было 301 Постоянное перенаправление, замените [L] на [R=301,L]

  3. Второе правило будет выполнять перенаправление домена. Это правило будет ТОЛЬКО перенаправлять, если домен domain.com или domain.se. Если вы хотите переадресовать из ЛЮБОГО имени домена (который может быть настроен вашим веб-сервером) до www.domain.com, замените эти 2 строки RewriteCond следующим образом: RewriteCond %{HTTP_HOST} !=www.domain.com.

+0

Спасибо, это сработало отлично! – Jonathan

+0

@ Jonathan Рад слышать. В этом случае, пожалуйста, подумайте о том, чтобы отметить этот ответ как принятый – LazyOne

1
RewriteCond %{HTTP_HOST} !^www.domain.com$ 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301] 

Это должно соответствовать всем вашим требованиям. Все запросы, которые не являются www.domain.com, будут перенаправлены в этот домен с отсутствием URI запроса.

+0

Я использовал ответ в сообщении ниже, но спасибо! – Jonathan

+0

Есть ли причина, по которой вы говорите, что вы использовали другой код, который был опубликован через 27 минут, но тот же, кроме того, что он слишком многословный? –

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