Создайте перенаправление 301 в .htaccess для папки на поддомен И перенаправьте www на не-www

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

Я хочу перенаправить http:://www.mysite.co.uk/ на http:://mysite.co.uk/ а также иметь возможность перенаправлять

  1. http:://www.mysite.co.uk/mysub/ и 2. http:://mysite.co.uk/mysub/ до 3. http:://mysub.mysite.co.uk/

Все файлы в 1. и 2. должны быть перенаправлены на их эквивалент в 3.

Например: http:://www.mysite.co.uk/mysub/file.html И http:://mysite.co.uk/mysub/file.html должны оба вести на http:://mysub.mysite. .co.uk/file.html

Это затронет только поддомен, чтобы другие папки и файлы в корне сайта не пострадали.

Если бы кто-нибудь мог помочь мне понять и написать код для перенаправления 301 в файл .htaccess, я был бы очень признателен! Спасибо!


person P3tro    schedule 03.02.2012    source источник


Ответы (1)


Это код, который вам понадобится в файле .htaccess:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /

# To redirect http:://www.mysite.co.uk/ to http:://mysite.co.uk/
RewriteCond %{HTTP_HOST} ^www\.(mysite\.co\.uk)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

# To redirect /mysub/foo to http://mysub.mysite.co.uk/foo
RewriteCond %{HTTP_HOST} ^(www\.)?(mysite\.co\.uk)$ [NC]
RewriteRule ^(mysub)/?(.*)$ http://$1.%2/$2 [R=301,L,NC]
person anubhava    schedule 03.02.2012
comment
Спасибо, это помогает, но есть только одна вещь, которая не работает: http:://www.mysite.co.uk/mysub не переходит на http:://mysub.mysite.co.uk/ - person P3tro; 03.02.2012
comment
Привет, http://www.mysite.co.uk/mysub теперь ведет только на http://mysite.co.uk/, а не на субдомен, как предполагалось? - person P3tro; 03.02.2012
comment
О, извините, я думаю, что совершил ошибку, не сделав / необязательно. Еще раз отредактировал мой ответ, теперь он должен работать. Пожалуйста, проверьте. - person anubhava; 03.02.2012
comment
Привет @anubhava, извините за задержку с ответом. http:://www.mysite.co.uk/mysub не перенаправляет на http:://mysub.mysite.co.uk Все остальное в порядке. - person P3tro; 06.02.2012
comment
Сделал несколько незначительных обновлений, пожалуйста, попробуйте еще раз. Однако это поможет, если вы сможете опубликовать свой полный .htaccess в своем вопросе. - person anubhava; 06.02.2012
comment
Боюсь, это тоже не исправлено. В файле .htaccess нет ничего, кроме вашего кода, с моими правками только для доменного имени. Спасибо за вашу настойчивость! - person P3tro; 06.02.2012
comment
Дело в том, что все, что я тестировал со своей стороны, отлично работает на моем Apache (Mac и Linux). Можете ли вы очистить кеш браузера и попробовать еще раз? http:://www.mysite.co.uk/mysub/ нормально работает? Если ничего не работает, пожалуйста, разместите здесь соответствующие строки вашего access.log и error.log. - person anubhava; 06.02.2012
comment
Просто http://www.mysite.co.uk/mysub/ не работает (с косой чертой или без нее). Все остальное работает нормально. Я пробовал с IE и FF и очистил оба кеша. Я просто посмотрю, что я могу получить из любых журналов... - person P3tro; 06.02.2012
comment
mysite.co.uk 78.***.***.3 - - [06/Фев/2012:11:31:35 +0000] GET / HTTP/1.1 304 - - Mozilla/5.0 (совместимо; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Выше приведен журнал доступа. Единственная запись в журнале ошибок связана с отсутствующими файлами favico. Как вы думаете, мне следует обратиться за поддержкой к провайдеру веб-хостинга, поскольку это может быть их установка? - person P3tro; 06.02.2012
comment
Это странно, поскольку по крайней мере для http:://www.mysite.co.uk/mysub/ должна быть строка 404. кстати http:://mysite.co.uk/mysub/ работает? - person anubhava; 06.02.2012
comment
Да, http://mysite.co.uk/mysub/ работает нормально (перенаправляет как надо). Если бы он генерировал ошибку 404, я бы не увидел страницу 404 apache? На данный момент я просто перенаправляюсь на http://mysite.co.uk/ - person P3tro; 06.02.2012
comment
не могли бы вы показать мне предыдущую версию кода, так как это было бы лучше всего? - person P3tro; 07.02.2012
comment
Конечно, отредактировал еще раз, чтобы отменить последние изменения и вернуться к предыдущей версии. - person anubhava; 07.02.2012
comment
Я не знаю, связано ли это, но что-то вроде www.mysite.co.uk/folder просто возвращается к mysite.co.uk? - person P3tro; 07.02.2012
comment
Ах, я думаю, что это действительно проблема. Не могли бы вы попробовать последний код (я только что отредактировал). - person anubhava; 07.02.2012
comment
Добро пожаловать и спасибо за предоставление мне всей полезной информации, чтобы решить эту проблему. - person anubhava; 07.02.2012