Ketika saya menyebut situs kami "www.example.com/contact-us", saya mengalami kesalahan berikut:
Ups, sepertinya permintaan ini mencoba membuat loop tak terbatas. Kami tidak mengizinkan hal-hal seperti itu di sini. Kami adalah situs web profesional!
Jika saya memanggil situs dengan "www.example.com/node/5" halaman kontak ditampilkan dengan baik.
Ketika saya memeriksa alias path di / admin / config / search / path / edit / 6, path sistem dan alias diatur dengan benar.
Masalah lain ada untuk alias lain, ketika saya memanggil "www.example.com/staff" Saya dialihkan ke halaman arahan "www.example.com". Sekali lagi alias diatur dengan benar.
Kami menggunakan Drupal 7, dan modul i18n_redirect dan redirect.
7
redirection
path-aliases
Matthias
sumber
sumber
Jawaban:
Edit halaman Anda dan pergi ke pengalihan URL . Temukan jalur pengalihan dengan jumlah hitungan terbanyak dan hapus. Klik simpan lalu lihat halaman.
Beri tahu saya jika itu memperbaiki masalah Anda
sumber
Pembaruan: Masalah Drupal # 1796596 dilakukan sejak Redirect 1.0-rc2 (Juni 2015). Solusi yang tepat untuk masalah ini sekarang adalah meng-upgrade ke rilis stabil terbaru dari modul Redirect, dan kemudian menjalankan pembaruan basis data. Setiap pengalihan lingkaran yang Anda miliki akan dibersihkan dengan aman.
Masalah ini muncul karena bug dalam modul pengalihan. Anda memicu dengan mengubah URL halaman (atau mungkin hanya judulnya, jika Anda menggunakan pathauto) dan kemudian mengubahnya kembali seperti semula.
Sebagai contoh, katakanlah saya memiliki halaman bernama "perusahaan" dan saya mengubah judul menjadi "Perusahaan kami" (yang mengubah URL alias menjadi perusahaan kami). Kemudian saya memutuskan bahwa saya sebenarnya memilihnya dengan cara pertama sehingga saya mengedit simpul lagi dan mengubah judul kembali menjadi "Perusahaan". Pada saat itu pesan kesalahan " Ups, sepertinya permintaan ini mencoba membuat loop tak terbatas. Kami tidak mengizinkan hal-hal seperti itu di sini. Kami adalah situs web profesional! " Akan mulai muncul di halaman Perusahaan.
Ada tiga cara untuk memperbaikinya, tergantung pada apa yang paling mudah bagi Anda. Mereka berkisar dalam kesulitan / keberanian dari atas ke bawah.
Metode Drupal / PHP
Ada bug Drupal yang panjang pada subjek: Masalah # 1796596 dan ada tambalan yang berfungsi baik yang memperbaiki masalah dalam komentar # 124 .
Semoga perbaikan ini akan segera masuk ke modul Redirect untuk diunduh. Namun sudah lebih dari setahun sekarang tanpa ada tanda-tanda kemajuan di depan itu.
Metode SQL
Perbaikan tercepat untuk masalah ini adalah dengan query SQL ke database, dengan sesuatu seperti di bawah ini. HATI - HATI dan hanya coba metode ini jika Anda tahu apa yang Anda lakukan - cobalah pada pengembangan salinan situs pertama dan pastikan Anda memiliki cadangan dan menguji perubahan setelah itu jika Anda perlu memutar kembali. Berhati-hatilah dan uji kueri pertama dengan sangat baik jika Anda menggunakan i18n ... Jalankan kueri pertama untuk menunjukkan apa yang akan dihapus dan yang kedua untuk benar-benar melakukan penghapusan.
Jika Anda tidak tahu cara menerapkan tambalan atau menjalankan kueri SQL, maka Anda harus memperbaiki masalah secara manual. Jangan khawatir, ini sebenarnya cukup mudah dilakukan (tetapi memakan waktu dibandingkan dengan metode lain):
Metode Manual:
Untuk setiap halaman tempat pesan peringatan ditampilkan:
sumber
Jika kita memiliki pengalihan yang sama ke alias node, cara lain untuk memperbaiki kesalahan ini adalah dengan menjalankan skrip yang melalui semua nid (dalam kasus node) dan melihat apakah alias dari setiap node memiliki pengalihan dengan nama yang sama, jika ada dihilangkan.
Anda dapat menjalankan kode ini di opsi "Jalankan Kode PHP" dari menu pengembangan.
Formulir ini mirip dengan "Metode SQL" hanya saya menjalankan ini dari Drupal dan bukan pada database.
sumber
Terapkan tambalan di Fix dan cegah pengalihan melingkar (atau tunggu sampai masuk ke modul).
sumber
Buat skrip Drush:
Simpan ke file dan jalankan dari dalam basis kode situs Anda menggunakan
drush php-script [PATH_TO_SCRIPT]
, dan itu akan menghapus pengalihan yang berbenturan dengan alias alias URL.sumber
Bagaimana saya bisa mencegah menampilkan pesan kesalahan "redirect loop" di server produksi di masa depan? Saya telah menetapkan pelaporan kesalahan "tidak ada" di halaman ini - admin / config / development / logging
sumber
Satu-satunya cara setelah mencoba banyak tambalan adalah membuka file redirect.module dan menghilangkan baris # 989
sumber
Bahasa Inggris saya tidak terlalu bagus, tapi saya pikir Anda tidak masalah baca saya. Saya memiliki sebelum masalah itu dan saya menyelesaikannya sehingga saya menghapus modul REDIRECT. Salam Tim situs KoZnaZna - Simon
sumber