2010-11-11 21 views
14

.htaccess dosyasını değiştirmek isterim, böylece siteme www yazmadan siteme geldiğinde her zaman onları www sürümüne yönlendirir. Örneğin, URL'm www.abc.com ve abc.com yazıyorsa, bunları abc.com'a yönlendirmek istiyorum. .htaccess dosyasının nasıl değiştirileceği her zaman www için

<IfModule mod_rewrite.c> 
    RewriteBase/
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

Normalde yönlendirme nasıl yapılacağını biliyorum, ama zaten orada olanların birkaç satır beri im sorunlarınız:

İşte benim şimdiki htaccess dosyasıdır.

cevap

18

hemen RewriteEngine on sonra böyle bir şey ekleyin:

RewriteCond %{HTTP_HOST} ^example\.com$ 
RewriteRule ^(.*) http://www.example.com/$1 [R=301] 
+0

mükemmel, teşekkürler – Randy

+0

$ sonra^(. *) Kaçırdınız. –

+1

@KnocksX Gerekli değildir * * 'açgözlüdür. –

1

apache modülü

1) kullanmak mod_alias mevcut iki yöntem

/kalıcı bir şey http://yourwebsite.com/something

2 yönlendir vardır) ekleyin Web sunucusu yapılandırmasında .htaccess/http.conf/yourwebsite.conf dosyasında aşağıdaki giriş dizin

YenidenYazmaMotoru RewriteCond% üzerinde {HTTP_HOST}^yourwebsite.com RewriteRule^(. *) $ http://www.yourwebsite.com $ 1: [R '= kalıcı L]

28

aşağıda kodunu kullanır. Herhangi bir alan adı için kullanılabilir. Sadece .htaccess dosyanıza girmelisiniz.

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

Eğer kodunun altına deneyebilirsiniz www.example.com olarak example.com yönlendirmek istiyorsanız

+0

Bu cevabı kabul edilenlerden çok beğendim, etki alanı tanımlamaya gerek yok. – joseantgv

1

(aynı blokta tüm kod sahip olacak şekilde düzenlenebilir)

RewriteEngine on 
RewriteCond %{HTTP_HOST} !www.example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC] 
İlgili konular