Aynı klasörde bir php dosyasına yönlendirmek için ErrorDocument kullanmak nasıl?

5 Cevap php

Ben belirli bir klasöre missing files taleplerini almak ve bu klasörde program.php onları yönlendirmek istiyorum.

Bu farklı yerlerde bir sürü kullanabileceğiniz bir programdır, ve ben htaccess dosyasındaki klasör adını belirterek önlemek için tercih ediyorum.

Ben sadece koyarak denedim:

errordocument 404 program.php

ama sonuç tarayıcı sadece prints out "program.php" ve program.php yürütmek olmamasıdır.

http://httpd.apache.org/docs/2.0/mod/core.html, bir eğik çizgi veya http ile başlamak gerekmez url bir metin mesajı olarak yorumlanır de belgelere dayalı olarak: I why bu oluyor anlamak.

Soru aynı klasöre erişebilir olması için bu sınırlama kurtulmak için nasıl.

5 Cevap

Ben kullanarak sona erdi rewriterule instead of errordocument:

rewriteengine on
rewritecond %{request_filename} !-f
rewriterule ^(.+).jpg$ program.php?i=$1.jpg [L]

İkinci satır, mevcut görüntülerin doğru gösterilir, böylece dosya var olmadığını doğrular.

İstediğiniz:

ErrorDocument 404 /program.php

Göre docs, "URL'ler (DocumentRoot göre) yerel yollarda bir eğik çizgi (/) ile başlayabilir."

Klasörler sadece küçük bir sayı varsa, muhtemelen kullanabilirsiniz:

<Directory /path/a>
   ErrorDocument 404 /a/program.php
</Directory>
<Directory /path/b>
   ErrorDocument 404 /b/program.php
</Directory> 
<Directory /path/c>
   ErrorDocument 404 /c/program.php
</Directory>

Bu imkansız ise, o zaman sadece kök bir program.php var ve php de $ _SERVER ['REDIRECT_URL'] olan REDIRECT_URL ortam değişkeni, içeriğine bağlı olarak farklı tepki olmalıdır.

Neden bir ErrorDocument tüm klasörlerdeki tüm hataları işlemek zorunda değil mi? Daha temiz bu şekilde olabilir. Daha sonra $ _SERVER eğer doğru hatırlıyorum özgün istek içermelidir ["REQUEST_URI"] kullanarak bireysel davayı ele verebilir.

Buna ne dersin. Kök yolunda, genel bir error.php dosyayı kurmak. Ancak, yaptığı tüm REQUEST_URI ayrıştırmak yolunu kontrol, özel bir error.php orada olup olmadığını görmek ve bu içermeleridir. Ha, işe yarayabilir?