2011-10-25 19 views
5

Şu an yaklaşık 2 saat boyunca araştırdım ve konuların çoğu benzer olsa da, hiç kimse yapmak istediklerimi nasıl yapacağımı açıklamamıştır.Apache alt etki alanından yeniden www'ye yazılır, ancak tüm izinleri saklar

Bir blog.domain.com yapısına sahip olan ve www.domain.com/blog/ adresine taşınan bir blog alıyorum. Öyle yönlendirmek zaman

blog.domain.com/here-is-a-blog-post/

haline gelmelidir ... blog yayınının kalıcı bağlantı tutmak gerekir:

www.domain.com/blog/here-is-a-blog-post/ 

birçok şeyi denemeden sonra bu biter Denedim son şey hiç etkilemeyecek kadar. Anlamı blog.domain.com sadece

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^xyz\.domain\.com$ 
RewriteRule ^/(.*) http://domain.com/$1 [redirect,last] 

İşte benim httpd.conf dosyasından giriş var blog.domain.com/ oturur.

<VirtualHost xxx.xxx.xxx.xxx:80> 
    SSLEngine off 
    SuexecUserGroup apache apache 
    ServerName  www.domain.com 
    ServerAlias  domain.com 
    ServerAlias  blog.domain.com 
    ServerAdmin [email protected] 
    DocumentRoot /home/domain/www/domain.wiredground.com 
    ScriptAlias /cgi-bin/ "/home/domain/www/cgi-bin/" 
    <Directory /home/domain/www/cgi-bin> 
     AllowOverride None 
     Options ExecCGI 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

Herkes yardımcı olabilir mi?

Teşekkürler!

cevap

4

kullanımı bu:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^blog\.domain\.com [NC] 
RewriteRule (.*) http://domain.com/blog/$1 [R=301,L] 
Eğer regexp içinde nokta kaçmak gerekir
+1

: her ikisi için 'RewriteCond% {HTTP_HOST}^blog \ .Domain \ .com $ [NC]' – Seybsen

+0

iyi çağrı thanks ayy evet –

+0

Teşekkür Cevapların Orijinal düşünceyi denedim ve sonra 2. çizgiyi Seybsen'in RewriteCond ile değiştirdim ama şans yok. Http://blog.domain.com adresine giderken hiçbir işlem yapılmadığı ve sadece http://blog.domain.com adresinde bulunduğu için bir neden düşünebilir misiniz? – user1013465

İlgili konular