Saya memiliki pengaturan host virtual ini sebagai yang pertama dalam daftar host virtual. ini
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot "/www/drupal5"
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Allow from localhost
</Location>
</VirtualHost>
Host virtual lainnya ada di bawah ini dan dinyatakan sebagai *: 80.
Ketika saya menyertakan DocumentRoot di host virtual ini, permintaan pada server untuk http://localhost/server-status
selalu menekan /index.php melalui aturan penulisan ulang di /www/drupal5/.htaccess. Jika saya menghapus deklarasi DocumentRoot, / permintaan status server berfungsi dengan baik, tetapi kemudian situs tidak tersedia sama sekali http://localhost/
.
Bagaimana saya bisa mulai http://localhost/server-status
bekerja serta situs memuat http://localhost/
?
/www/drupal5/.htaccess
? Mudah-mudahan, dimungkinkan untuk mengubah aturan penulisan ulang sehingga permintaan untuk / server-status tidak ditulis ulang.Jawaban:
Menemukan solusinya ketika saya googled 'server-status mod_rewrite'. Secara kebetulan itu dijawab dalam sebuah forum drupal: http://drupal.org/node/52511
Menambahkan
RewriteCond %{REQUEST_URI} !=/server-status
ke aturan penulisan ulang untuk mengarahkan ulang semua lalu lintas ke /index.php memperbaikinya.Sangat membingungkan bahwa mod_rewrite dapat menulis ulang uri yang sudah mengatur handler.
sumber
Jika Anda menggunakan Apache 2.3 atau lebih tinggi, Anda juga harus dapat menggunakan
END
bendera di entri VirtualHost Anda, untuk menyimpan harus memodifikasi file .htaccess.Seharusnya mencegah aturan selanjutnya dari menulis ulang hal-hal.
sumber
Cukup tambahkan entri vhost kosong ke bagian atas file konfigurasi vhost misalnya
sumber