2008-09-16 29 views
0

Birkaç yıl boyunca kök dizinden çıktığım bir bülten panosuna (punBB tabanlı) sahibim. Ben aptalca küçük bir bahçe yapmaya karar verdim ve süreçte punbb kodunu kendi alt dizinine taşıdım. Kod harika çalışıyor; Tarayıcıyı yeni alt dizine işaret ettiğiniz sürece.Sitenin kökünde bir web uygulaması nasıl görünür?

<?php chdir('punbb'); 
include('index.php'); 

Ama bu hile yapmak görünmüyordu: Sorun kullanıcıları aşağıdaki vardı kök bir dizin dosyası çalıştı

... kökünde görmek için beklemek olduğunu . Bu yüzden, .htaccess'teki mod_rewrite'in "harika voodoo'unu" kullanmayı denedim, ancak çalışmasını sağlamak için doğru kural kombinasyonunu anlayamıyorum.

Kullanıcı girer:

http://guardthe.net 

Tarayıcı görüntüler: Burada

gerçekleşmesini yapmak istiyorum ne

http://guardthe.net/punbb/ 

veya

http://punbb.guardthe.net/ 

bu mümkün mü, ya da sadece mo ve kod tabanı tekrar köküne mi?

cevap

1

301 HTTP permenant yönlendirmeli bir PHP dosyası.

<?php 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://guardthe.net/punbb/"); 
?> 

tarayıcı yeniden direkt olacaktır arama motoru dostu ile guardthe.net kök dizininde index.php aşağıdaki koyun.

+0

Sunucunuzda mod_rewrite desteği olmadıkça, kullanıcının bu web sayfasını indirmesi ve tarayıcıya ikinci bir işlemi gerçekleştirmeden önce tarayıcının görüntülemesi için bu yaklaşımdan kaçınmanız gerekir. Gecikme genellikle kullanıcının fark etmesi için yeterince uzun. Varsa mod_rewrite için gidin. – Cheekysoft

0

Kod örneği eksik ama burada mod_rewrite kullanarak bunu yapmak için tek yolu şudur:

RewriteEngine on 
RewriteRule ^$ http://guardthe.net/punbb/ [L,R=301] 
+0

Netleştirmek için sadece bir not: Bu webroot'un .htaccess dosyasında olması gerekir (punbb dizininde değil). –

0

Sen basit ve hızlı bununla ilgilenecek için küçük bir yönlendirme komut dosyası yazabilirsiniz.

<?php 
header('Location: http://guardthe.net/punbb/'); 
?> 

kök dizininde index.php sadece içerik olarak o girin ve bu klasöre gönderilen istekler daha sonra foruma kullanıcıyı yönlendirir. .htacces böyle

3

şey yapmalı:

RewriteEngine On 
    RewriteRule ^/?$ /punbb/ [R=301,L] 

301 dönüş kodu o doktorunun tarayıcı yer imleri güncellemek için yapım permanentm olarak hareket işaretlemek etmektir.

İlgili konular