Apache memaksa garis miring ke 301

Oct 02 2019

Kami menggunakan Apache (di Runcloud) di belakang Cloudflare untuk mengarahkan tautan. Ini dilakukan dengan .htaccess, sesederhana mungkin.

Redirect 301 /advertiser/google https://google.com

Untuk beberapa alasan Apache memaksa garis miring di akhir setiap pengalihan, dan beberapa URL - yaitu yang tidak boleh berisi garis miring - tidak akan berfungsi.

Bagaimana cara mengonfigurasi Apache agar mengarahkan tepat ke URL di .htaccess?

Jawaban

2 HBruijn Oct 02 2019 at 19:56

Harap diperhatikan: Pengalihan HTTP 301 adalah "Dipindahkan Secara Permanen" dan dengan demikian akan di-cache oleh kedua browser web, CDN dan server proxy dan setelah Anda mengubah atau menghapus Redirectperintah tersebut, Anda masih dapat mengamati efek dari pengaturan lama. Anda mungkin perlu menguji dari jendela browser anonim baru dan / atau menghapus cache Anda setelah setiap perubahan.

Kedua: dengan Redirectinformasi jalur apa pun di luar pola di jalur URL yang Anda alihkan akan ditambahkan ke URL target.

Dengan kata lain: dengan pengaturan, Redirect 301 /advertiser/google https://google.compermintaan dengan jalur yang lebih panjang http://example.com/advertiser/google/moreharus dialihkan oleh Apache ke https://google.com/more.

Saat permintaan untuk http://example.com/advertiser/googledialihkan ke https://google.com/(dengan tambahan garis miring), alasan yang paling mungkin adalah bahwa sesuatu dalam konfigurasi Anda terlebih dahulu menambahkan garis miring itu dan mengonversi permintaan sebelum Pengalihan diterapkan.

Anda dapat melewati efek cache dari cloud flare CDN dan browser web Anda sendiri serta menguji konfigurasi Anda dengan membuat permintaan langsung ke server web Anda dengan klien baris perintah seperti misalnya:

 curl -v -H "Host: example.com" http://<real-IP-address-of-your-webserver>/advertiser/google

dan bandingkan dengan

  curl -v http://example.com/advertiser/google