Помогите настроить .htacess (умаялся)

Dervish
На сайте с 11.05.2005
Offline
186
890

Нужно настроить файлик для Вордпресса.

В частности, нужно склеить domain.com -> www.domain.com

Облазил кучу статей/гайдов - везде одно и то же, которое почему-то не работает. В общем, код получился такой (пробовал и кучу других вариантов):

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]

RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

В итоге при запросе главной браузер получает редирект (видно в адресной строке) www.domain.com -> domain.com -> www.domain.com и по новой, а в конце

и ошибку Неверное перенаправление на странице

Пингвин под микроскопом. (http://ac-u.ru/arts/pingvin-pod-mikroskopom/) Особенности продвижения Интернет-магазинов. (http://ac-u.ru/arts/osobennosti-prodvizhenija-internet-magazinov-bytovojj-ili-kompjuternojj-tekhniki-s-interesnymi-primerami-i-zabavnymi-kartinkami/) Копирайтинг. Качественно. (/ru/forum/725909)
iguania
На сайте с 10.12.2010
Offline
72
#1

Вот мое рабочее решение. Раскомментируй нужную секцию и пользуйся. Сейчас раскомментирована www.site.ru => site.ru

# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment the following:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

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

Все всегда заканчивается хорошо. Если все закончилось плохо, значит, это еще не конец…
siv1987
На сайте с 02.04.2009
Offline
427
#2
Dervish:
В итоге при запросе главной браузер получает редирект (видно в адресной строке) www.domain.com -> domain.com -> www.domain.com и по новой, а в конце
и ошибку Неверное перенаправление на странице

Это какбэ намекает что в ВП домен записан без www, поэтому и происходит циклический редирект, который в итоге приводит к Неверное перенаправление на странице

iguania
На сайте с 10.12.2010
Offline
72
#3

Ага, еще одну вещь уточню. Данный код нужно не в любом месте .htaccess размещать, а в нужном. Вот полный пример привожу:

# Turn on URL rewriting

RewriteEngine On

# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment the following:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

# Installation directory
RewriteBase /

# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>

# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

#PRODUCTION, STAGING, TESTING, DEVELOPMENT
#SetEnv KOHANA_ENV development
#SetEnv KOHANA_ENV testing
#SetEnv KOHANA_ENV staging
SetEnv KOHANA_ENV production
Dervish
На сайте с 11.05.2005
Offline
186
#4
siv1987:
Это какбэ намекает что в ВП домен записан без www, поэтому и происходит циклический редирект, который в итоге приводит к Неверное перенаправление на странице

Да! Большое спасибо Вам и всем ответившим за оперативную помощь. :)

---------- Добавлено 07.09.2012 в 19:29 ----------

Невермайнд...

Tryd0g0lik
На сайте с 24.04.2012
Offline
99
#5
Dervish:
Нужно настроить файлик для Вордпресса.
В частности, нужно склеить domain.com -&gt; about:www.domain.com

Попробоуй так

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain.com [NC]

RewriteRule (.*) www.domain.comhttp://www.domain.com/$1 [R=301,L]

у меня работает

Posted with ForumPilot v1.1

Ко мне можно на ТЫ!
Dervish
На сайте с 11.05.2005
Offline
186
#6

Да, сделал уже.

Есть еще вопрос. Как, к уже написанному .htaccess добавить редирект всех страниц с расширением .htm/.html на главную?

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^(.*)\.htm$ http://www.domain.com/ [R=301]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Redirect 301 /windows http://www.domain.com/

Не работает :(

siv1987
На сайте с 02.04.2009
Offline
427
#7

Как-то так

RewriteRule ^(.*)\.html?$ http://www.domain.com/ [R=301,L]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий