2009-02-27 22 views
14

Sitenin tamamını siteye yalnızca iki IP girebilecek şekilde kısıtlamak istiyorum. ,htaccess ile IP kısıtlaması

ErrorDocument 403 http://www.example.com/views/error403.html 

Order Deny,Allow 
Deny from all 
Allow from 311.311.311 322.322.322.322 

ErrorDocument 404 /views/error404.html 
ErrorDocument 500 views/error500.html 

(Açıkçası, bu sahte IP'ler vardır, benim .htaccess doğru IP'leri vardır)

Gördüğünüz gibi: I (sitenin kökünde) benim .htaccess takipçileriniz var Sadece 322.322.322.322 ve 311.311.311.0/24 tüm IP'lere izin veriyorum ve geri kalan insanlar için inkar ediyorum. İstediğim şey, siteye başka bir IP'den giren herkes, o error403.html sayfasını görüntüleyecektir.

Filtre çalışıyor, ancak yeniden yönlendirme yapmıyor. Ben inkar IP'den sitesine girmeye çalıştığımda bir Apache mesajı bakın:

Found 
The document has moved here 

Nerede "burada" error403.html bağlantısıdır.

Sanırım error403.html sayfasını bile kısıtlıyorum.

Bu kısıtlamayı nasıl yapabilirim, ancak hata sayfasının görünümünü görüntüleyebilir miyim? Error403.html sayfasını başka bir dizine (yani,/views/error /) getirip başka bir .htaccess koymalı mıyım, o dosyada tüm IP'lere izin vermeli miyim?

Teşekkürler!

cevap

10

Evet, kendi sorunuzu cevapladınız. :) Korumalı olmayan tüm sayfaları, uygun Allow ve Deny'u içeren kendi .htaccess ile başka bir dizine taşıyın.

+0

Bu sorunu çözmek için başka bir formun var olup olmayacağını merak ettim, ama şüphemi doğruladınız; Başka bir dizin htaccess çifti ile yapacağım. Teşekkür ederim Vlad! – ARemesal

+0

Bunu her zaman httpd.conf adresinden hangi dizinlerin etkilendiğini ve hangi dizinlerin etkilenmediğini belirtebilirsiniz, ancak .htaccess kullanımıyla ilgili performans sorunları yaşamadığınız sürece buna değmez. Saniyede yüzlerce veya binlerce istekte bulunabilirsiniz.) – vladr

+0

Ve bu site httpd.conf'u değiştiremediğim paylaşılan bir makinede barındırılıyor, bu yüzden .htaccess ile çözüm bunun için mükemmel. – ARemesal