Назад | Перейти на главную страницу

Linux перенаправить www на не-www с помощью .htaccess

Я пытаюсь перенаправить www.example.com к http://example.com используя .htaccess файл в моем корневом каталоге.

Я пробовал примеры, перечисленные здесь и в других местах. rewriteengine горит.

rewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
rewriteRule (.*) //%1/$1 [L,R=301]

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

В приведенном выше примере мне нужно куда-нибудь вставить фактическую информацию о моем сайте? Если да, может ли кто-нибудь привести мне пример, используя www.example.com?

Я использую сервер на базе Linux через GoDaddy.

RewriteCond %{HTTP_HOST} ^www.example.org$
RewriteRule ^(.*)$ http://example.org/$1

В настоящее время у вас есть

RewriteCond %{HTTP_HOST} ^www.(.) [NC]
RewriteRule (.) //%1/$1 [L,R=301]

Я думаю, ты почти у цели. Помните, что в регулярном выражении одна точка . соответствует не замужем персонаж. Если вы хотите сопоставить один или несколько символов, попробуйте .+. И если вы хотите сопоставить ноль или более символов, используйте .*. Например.:

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

(вам также понадобится ведущий http: для URL-адреса перенаправления).