2011-07-23 12 views
5

'jsfiddle.net kaydedilmiş URL'leri bir sınıf/db ile benzer işlevsellik oluşturmak için modl'den ilk alt dizin dizesini mod_rewrite yapmaya çalışıyorum. Script iyi çalışıyor ve yeniden yazıyor.mod_rewrite Trailing Slash kesmeleri ile CSS/IMG/SCRIPTS yolları

örn.

http://www.domain.com/787HHJ2 

Bu benim hüner yok geçmişte kullandığınız budur: url

http://jsfiddle.net/RyEue/ 

Bu ince (yükleri tüm css, komut dosyaları, vb) çalışır.

Sorun, URL son bitiş çizgisi, komut dosyası, css ve diğerleri gevşek yolla sonlandığında geçerlidir.

http://www.domain.com/787HHJ2/ 

yeniden yazma komut dosyası: Bu RewriteBase ile ilgisi olup olmadığını

DirectoryIndex index.php index.html 
Options +FollowSymlinks 
RewriteEngine On # Turn on the rewriting engine 
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{QUERY_STRING} !. 
RewriteRule ^.+/?$ index.php [QSA,L] 

Emin olamadığım birden fazla yol denedim.

PS. Mutlak (örneğin, src = "/ img/theimage.jpg") yollarını şanssız olarak ayarlamayı denedim.

+0

Kural iyi. Lütfen yeniden yazma işlemini yeniden başlatın ('RewriteLogLevel 9') ve tam olarak ne olduğunu görmek için yeniden kayıt günlüğünü kontrol edin. – LazyOne

+0

@LazyOne, sağınız. İşe yarıyor. Sorunlar css, komut dosyaları yol açar. – Codex73

+1

Soruyu açıklığa kavuştum. Sorun çoğunlukla css, scriptler, resimler ve diğerleri ile takip edilerek kırılmıştır. – Codex73

cevap

5

1. kaçan deneyin css/images/js vb (lider eğik çizgi ile) kök klasörüne bağlantılı göreli: /styles/main.css

2. akım önce bu ruls birini ekleyin tek:

# do not touch files with .css/.js/.jpg etc extensions 
RewriteRule \.(css|js|jpg|png|gif)$ - [L] 

veya

# do not touch any resources in images/css/js folders 
RewriteRule ^(images|css|js)/ - [L] 

3. Tarayıcı önbelleklerini ve yeniden başlatmayı temizleyin (bazen çok sayıda karışıklık getiren, kuralın yeniden yazılması sırasında tarayıcı önbelleğe alınmış sayfayı/kaynağı görüntüleyebilir).

+0

Yukarıdaki yanıtla sorunu çözebildim. Kökün göreli yolları ve yerel sanal ana bilgisayarların kurulumu, her şeyin mükemmel şekilde çalışmasına izin verdi. – Codex73

0

olmasına dikkat edin

RewriteRule ^.+\/?$ index.php [QSA,L]