Помогите создать универсальный htaccess для сайта без www

Joker_SEO
На сайте с 21.05.2009
Offline
40
974

Помогите создать универсальный htaccess для любого домена, чтобы все ссылки сайта (включая главную) были без www.

При этом чтобы если даже искусственно дописывал бы www впереди, то редиректило на ту же страницу но без www, то есть чтобы соблюдалось точное соответствие сраниц, например:

www. site.net -> site.net

www. site.net/page1.html -> site.net/page1.html

www. site.net/catalog/post-25 -> site.net/catalog/post-25

Т.е. мне нужно чтоб все с www редиректило на "без www" (при чётком соблюдении страница-страница)

Буду признателен всем за помощь!

Malcolm
На сайте с 02.05.2007
Offline
119
#1

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1 [R=301,QSA]
[Удален]
#2
Malcolm:
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www\.(.*) [NC]

RewriteRule ^(.*)$ http://%1 [R=301,QSA]

А если наоборот: без_www —> www?

Joker_SEO
На сайте с 21.05.2009
Offline
40
#3

Что-то выдаёт страницу ошибки. Пишет 301 редирект, и:

The document has moved here.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

А есть разница, если в 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

Joker_SEO добавил 22.05.2010 в 21:44

evgeny_kostin:
А если наоборот: без_www —> www?

Если наоборот, то если я не ошибаюсь так:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Malcolm
На сайте с 02.05.2007
Offline
119
#4
Joker_SEO:
Я про стандартный хтаксесник вордпресса:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1 [R=301,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Joker_SEO
На сайте с 21.05.2009
Offline
40
#5

Вроде работает. Спасибо, Malcolm!

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