Penguji .htaccess
Uji bagaimana sekumpulan directive .htaccess Apache RewriteRule/RewriteCond dan Redirect/RedirectMatch menangani URL tertentu — lihat redirect, rewrite internal, atau pass-through yang dihasilkan, dengan trace per directive.
Input
Path seperti /article/42, dengan atau tanpa query string. Hanya path + query yang digunakan.
Permintaan yang disimulasikan
Output
| Properti | Nilai |
|---|---|
| No data yet | |
Trace per directive
| Baris | Directive | Aturan | Hasil |
|---|---|---|---|
| No data yet | |||
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/htaccess-tester \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"htaccessRules": "RewriteEngine On\n\n# Force HTTPS\nRewriteCond %{HT…",
"testUrl": "/article/42",
"httpsEnabled": "",
"httpHost": "example.com"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `htaccess-tester` tool (.htaccess Tester) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
Widget sematan
<iframe
src="https://iotools.cloud/embed/htaccess-tester/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Penguji .htaccess — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.
| Biaya per panggilan API/MCP | Mulai dari 5 kredit |
|---|---|
| Butuh kredit lebih? | Lihat harga |
Juga tersedia melalui
Panduan
Fungsi alat ini
File .htaccess Apache mengatur penulisan ulang URL dan redirect melalui mod_rewrite (RewriteEngine, RewriteCond, RewriteRule) dan directive mod_alias (Redirect, RedirectMatch, RedirectPermanent, RedirectTemp). Menentukan rantai rewrite hanya dengan membaca regex itu sulit — kondisi yang tidak pernah cocok, substitusi yang merujuk backreference yang salah, atau flag [L] yang hilang dapat diam-diam merusak redirect yang Anda maksud.
Alat ini mensimulasikan resolusi tersebut: tempel directive Anda, berikan URL uji, dan alat akan menelusuri aturan directive per directive, menunjukkan RewriteCond mana yang cocok, RewriteRule mana yang terpicu, dan hasil akhirnya — redirect eksternal (dengan kode status dan Location), rewrite internal, 403/410, atau pass-through tanpa kecocokan sama sekali.
Cara menggunakan
- Tempel directive rewrite/redirect
.htaccessAnda ke kotak Isi .htaccess. - Masukkan URL / path yang diuji — path seperti
/article/42, dengan atau tanpa query string. - Aktifkan Simulasikan permintaan HTTPS dan atur Header Host jika aturan Anda bercabang berdasarkan
%{HTTPS}atau%{HTTP_HOST}(umum untuk aturan paksa-HTTPS dan kanonikalisasi www). - Baca baris Hasil untuk melihat hasilnya, dan tabel trace di bawahnya untuk melihat bagaimana setiap directive dievaluasi.
Berjalan otomatis saat Anda mengedit — tidak ada tombol yang perlu diklik.
Yang disimulasikan
RewriteEngine On|Off,RewriteBaseRewriteCond—CondPatternberbasis regex (dengan negasi!dan[NC]) serta bentuk=literalyang cocok persis, dirangkai dengan logika AND/[OR]yang sama seperti yang digunakan ApacheRewriteRule— pencocokan pola (tanpa garis miring di awal, konvensi.htaccessper direktori yang biasa) plus flagNC,L/END,R/R=NNN,F,G,P, danQSA, serta ekspansi backreference%{VAR}/%N/$NRedirect,RedirectMatch,RedirectPermanent,RedirectTemp(mod_alias)
Directive dibaca dari atas ke bawah dalam satu kali lintasan. Apache sendiri memulai ulang pencocokan dari awal rangkaian aturan setelah rewrite yang tidak terminal (tanpa L); alat ini tidak melakukan pengulangan, sehingga aturan yang khusus ditulis untuk menangkap URL yang sudah ditulis ulang pada lintasan kedua tidak akan terpicu di sini. Sebagian besar rantai rewrite yang umum (redirect-jika-http, canonicalize-www, pretty-URL-ke-query-string) tidak bergantung pada perilaku itu. Uji keberadaan file (-f, -d, -s) dan perbandingan leksikografis dalam RewriteCond selalu dilaporkan "tidak cocok", karena tidak ada filesystem atau permintaan nyata untuk diperiksa, dan P (proxy) dilaporkan tetapi tidak pernah benar-benar diambil.
FAQ
Apakah ini menguji server live saya? Tidak — semuanya berjalan terhadap teks yang Anda tempel, menggunakan URL uji serta nilai Host dan HTTPS simulasi yang Anda berikan. Tidak ada yang diambil dari jaringan.
Mengapa RewriteRule saya tidak terpicu?
Periksa tabel trace — tabel itu menampilkan setiap hasil RewriteCond yang mendahului aturan, dan apakah pola aturan itu sendiri cocok. Penyebab umumnya adalah garis miring / di awal pola: pola dalam konteks .htaccess mencocokkan path tanpa garis miring di awal, jadi ^/article tidak pernah cocok dengan /article/42 — gunakan ^article sebagai gantinya.
Bagaimana jika saya hanya ingin merapikan indentasi .htaccess, tanpa menguji? Gunakan .htaccess Formatter. Untuk membuat blok aturan umum (paksa HTTPS, kanonikalisasi www, perlindungan hotlink, …) dari sakelar alih-alih menulisnya manual, gunakan .htaccess Rule Generator.
Privasi
Alat ini berjalan sepenuhnya di browser Anda. Isi .htaccess dan URL uji Anda tidak pernah diunggah ke server.