SORU
5 ŞUBAT 2012, Pazar


Hata ayıklama için ipuçları .debug kuralları yeniden yazmak

Birçok poster sorunları kendi içinde Special ve RewriteCond ifadeleri hata ayıklama var.htaccessdosyaları. Bunların çoğu hosting hizmeti kullanıyorsanız ve bu nedenle kök sunucu yapılandırma erişimi yok. Yeniden yazma için .htaccess dosyalarını kullanarak engel olamazlarolamaz"katılımcıların çoğu önerdiği gibi. bir şekilde yapılandırılması önemlidir etkinleştir Ayrıca .htaccessözel tuzaklar ve kısıtlamaları iyi kapalı değil çok var. Yerel bir test LAMBASI kurma yığını çoğu için öğrenme eğrisi çok fazla içerir.

Q benim burada ne onlar tavsiye ediyoruzhata ayıklamaonların kurallarıkendilerini. Birkaç öneri aşağıda sunuyorum. Diğer bir öneri mutluluk duyacağız.

  1. .htaccess büyü motor çevrimleri dosyaları anlıyorum. Motoru bu döngü çalışır:

    do
      execute server and vhost rewrites (in the Apache Virtual Host Config)
      find the lowest "Per Dir" .htaccess file on the file path with rewrites enabled
      if found(.htaccess)
         execute .htaccess rewrites (in the user's directory)
    while rewrite occurred
    

    Kuralları sürekli olarak yürütülen ve eğer URİ yolunu değiştirirseniz, sonra da eğer varsa .htaccessbaşka bir dosya yürütme sonunda olabilir. Bu yüzden sana RewriteCond dur kurallarına ekstra atış ekleyerek gerekirse bu döngü sona erdirmek emin olun. Ayrıca silmek herhangi bir alt düzey .htaccess kullanmak için açıkça niyetini sürece rulesets yeniden çok katlı rulesets.

  2. Her Regexp sözdizimi doğru olduğundan emin oluntest desenleri bir dizi karşı geçerli bir sözdizimi ve test Kodu tam bir dizi ne yapmayı planlıyor emin olmak için test. Daha fazla ayrıntı için answer below bkz.

  3. Senin kuralların aşamalı bir test dizini oluşturmak.Sen-ebilmek yapmak kullanmak "Çalıştır derin .htaccess dosya yolu özelliği" için kurulmuş ayrı bir test dizini (ağaç) ve hata ayıklama rulesets burada olmadan berbat sizin temel kuralları ve durdurma sitenizin çalışır. Bu bireysel kurallarına hataları belirlediğiniz için tek yoldur çünkü onlar bir eklemek için bir zaman var.

  4. Kukla script saplama sunucu ve ortam değişkenleri dökümü için kullanın. (BkzListe 2Eğer uygulamayı kullanıyorsa ki: blog/index.php test/blog/index.php içine kopyalayın ve test alt blog kurallarını test etmek için kullanabilirsiniz. Ayrıca ortam değişkenleri motoru doğru değiştirme dizeleri yorumlarken, örneğin yeniden emin olmak için kullanabilirsiniz

    RewriteRule ^(.*) - [E=TEST0:%{DOCUMENT_ROOT}/blog/html_cache/$1.html]
    

    ve bunlar için bak* Değişkenlerinin isimlerinin başına redırect_phpinfo değişkenleri dökümü. BTW, bunu kullandım ve %{ENV:DOCUMENT_ROOT_REAL} yerine kullanmak zorunda olduğum sitemde keşfetti. Yönlendirici bir döngü halinde* REDİRECT_REDİRECT_değişkenler bir önceki geçiş listesi. Vb

  5. Tarayıcınızı hatalı 301 yönlendirmeleri önbellekleme tarafından ısırılan alamadım emin olun. answer below bkz. Teşekkürlerimi 29* *bunun için.

  6. Bu yeniden yazma motoru gibi hassas basamaklı kurallar dahilinde .htaccess bağlam (yani bir RewriteRule sonuç olarak bir değişimi ve bu düşüyor ama daha kuralları), olarak buldum böceklerle iç alt istekleri (1) ve yanlışPATH_INFOgenellikle kullanımı [NS], [L] tarafından engeller ve [PT] bayraklar olabilir işleme.

Yorum veya önerileriniz?

1 -- phpinfo listesi

<?php phpinfo(INFO_ENVIRONMENT|INFO_VARIABLES);

CEVAP
9 ŞUBAT 2012, PERŞEMBE


Burada hosting kullanıcıları için hata ayıklama kolaylığı olabilir test kuralları hakkında bazı ek ipuçları

1. Sahte bir kullanıcı aracı kullanın

Yeni bir kural test ederken, sadece kendi istekleri için kullanılacak fake user-agent ile çalıştırmak için bir koşul ekleyin. Bu şekilde sitenizde başka kimseyi etkilemez.

e.g

#protect with a fake user agent
RewriteCond %{HTTP_USER_AGENT}  ^my-fake-user-agent$
#Here is the actual rule I am testing
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
RewriteRule ^ http://www.domain.com%{REQUEST_URI} [L,R=302] 

Eğer Firefox kullanıyorsanız, User Agent Switcher sahte kullanıcı Aracısı dizesi ve test oluşturmak için kullanabilirsiniz.

2. Test yapılır kadar 301 kullanmayın

İnsanlar hala kendi kuralları test olduğu o kadar çok mesaj gördüm ve 301. kullanıyorlar.YOK.

Eğer sitenizde öneri 1, sadece siz kullanıyorsanız değil, ama herkes bir anda siteyi ziyaret 301 etkilenecektir.

Tarayıcınız tarafından kalıcı ve agresif önbelleğe unutmayın. Emin olana kadar, sonra bir 301 değiştirmek yerine bir 302 kullanın.

3. 301 ısrarla tarayıcınızda önbelleğe unutmayın

Eğer kural çalışırsa ve doğru görünüyor, ve özel web tarayıcı önbelleği veya süre temizledikten sonra ve 2, Daha sonra tekrar test önerileri 1 kullanıyordun.

4. HTTP görüntüsü Yakalama aracı

Fiddler gibi HTTP yakalama aracı, tarayıcı ve sunucu arasında gerçek HTTP trafiğini görmek için kullanın.

Kimileri olsa da site does not look right all of the images, css and js are returning 404 errors sorun daraltarak hızlı bir şekilde görmek yerine rapor edebilirsin.

Diğerleri 25*,* rapor ederken URL A, were 302 redirected to URL B and 301 redirected to URL C başladılar bunu görmek mümkün olacak. Eğer URL C nihai hedefi olsa bile, bu SEO için kötü olduğunu ve düzeltilmesi gerektiğini bileceksiniz.

Sunucu tarafında ayarlanmış önbellek başlıkları, tekrar istekleri, test için istek başlıklarını değiştirmek görmek mümkün olacak....


Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013