Bagaimana cara mengulang dari .htaccess?

13

Kami menulis banyak kode untuk htaccess tetapi apa metode terbaik untuk debug selain menyegarkan halaman?

Apakah ada cara agar saya bisa menuliskannya ke file? atau apakah ada fungsi gema / cetak?

Cukup bagaimana saya tahu apa $ 1 $ 2 $ 3 saya?

Devrim
sumber

Jawaban:

8

Anda dapat mencoba metode yang disebutkan dalam posting blog berjudul A Couple Ways to Debug mod_rewrite :


Pada dasarnya yang Anda lakukan adalah membuang beberapa info yang mod_rewrite gunakan kembali ke header kemudian gunakan ekstensi Firebug atau LiveHTTP Header di Firefox untuk menonton header dan membaca info debug Anda.

Di .htaccess gunakan kondisi dan aturan:

RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://www.example.com/$1?vardump&thereq=%{THE_REQUEST}&reqhost=%{HTTP_HOST} [R=301,L,QSA]
nEJC
sumber
Saya akan menyarankan membuat 302 redirect untuk menghindari masalah dengan hasil cached 301 di browser setelah menyelesaikan tes.
IPSUS
9

Coba ini:

RewriteLog "/myfolder/mylogfile.log" 
RewriteLogLevel 3

Ini hanya Ekspresi Reguler dengan beberapa tambahan, sehingga Anda dapat menggunakan Regex Coach untuk pengujian awal terhadap URL, atau alat debugging Regex lainnya.

Bersulang! :)

kolypto
sumber
Alat yang sangat berguna, tetapi jangan lupa menghapusnya setelah debug karena Anda bisa mendapatkan file log yang besar!
Coops
6
Tampaknya ini tidak berfungsi dalam .htaccessfile. Itu harus masuk httpd.confyang berarti biasanya tidak dapat dicapai di akun hosting bersama. :-(
Simon East
2

Berikut ini adalah hack kecil yang menarik untuk "menggema" variabel dari file .htaccess.

Jika Anda memiliki AllowOverride diatur ke FileInfo, Anda dapat mengatur dan memicu respons kesalahan khusus di file .htaccess Anda dengan variabel yang diinginkan dalam output:

ErrorDocument 404 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=404]

Bergantung pada seberapa kreatif Anda dengan ekspresi, Anda dapat menampilkan cukup banyak informasi berguna!

Anda tidak dibatasi untuk menggunakan status 404 pada konten "yang digaungkan". Anda bahkan dapat mengganti status 200 "ErrorDocument" - yang digabungkan dengan <If>arahan dapat membuat beberapa penggunaan hack ini cukup menarik untuk mengembalikan konten langsung dari file .htaccess.

PeterA
sumber