Saya mencoba untuk menulis tautan "hot" anti hot .htaccess ...
Anda dapat menemukan banyak contoh / tutorial / generator di internet tetapi banyak dari mereka salah atau tidak lengkap (atau bahkan keduanya).
Ini adalah fitur yang saya cari:
- Harus memblokir tautan panas untuk daftar ekstensi file ketika HTTP_REFERER adalah situs asing.
- Harus mengizinkan tautan panas untuk domain saat ini (duh) tanpa melakukan harcoding di .htaccess.
- Untuk domain saat ini, domain harus bekerja di bawah http dan https.
- Untuk domain saat ini harus berfungsi dengan www dan tanpa www.
- Harus dapat menambahkan pengecualian domain ke aturan ini (seperti teman kami Google) dan domain ini harus bekerja di bawah http dan https dan dengan www atau tanpa www.
Inilah yang saya capai sejauh ini:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com/.*$ [NC]
RewriteRule \.(gif|jpe?g|png|zipx?)$ - [NC,F]
</IfModule>
Pertanyaan saya:
- Bagaimana menghindari hardcode
mydomain.com
di .htaccess? (Akan sangat bagus untuk dapat menggunakan .htaccess ini ke semua domain saya tanpa harus memodifikasinya untuk masing-masing.) - Dalam RewriteRule saya,
gif|jpe?g|png|zipx?
apakah ini setara dengangif|jpg|jpeg|png|zip|zipx
benar? (Maaf masih baru di ekspresi reguler.) - Apakah Anda melihat sesuatu yang buruk di .htaccess saya yang tidak saya sadari?
Untuk # 1 saya tahu itu agak mungkin. Yang paling dekat yang saya temukan adalah potongan ini yang menghapus www dari URL tanpa hardcoding domain. Apakah ada cara untuk menggunakan metode ini untuk pertanyaan saya # 1?
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]
Memperbarui:
Saya mengetahui solusi yang akan menyajikan gambar yang ditandai dengan air alih-alih yang biasa. Tapi saya tidak mencari solusi semacam ini. Saya ingin solusi universal (melayani 403 kesalahan) yang akan bekerja untuk semua jenis file biner (zip, exe, iso, jpg, png, gif ...).