Bagaimana cara menghapus 'index.php' dari URL?

Jawaban:

17

Anda dapat melakukannya dengan mengaktifkan URL SEF dan terutama parameter "Gunakan penulisan ulang URL" di konfigurasi global Joomla.

Harap dicatat bahwa ini akan menghasilkan kesalahan server internal jika Anda tidak membuat .htaccessfile sebelum mengaktifkan opsi.

Ada halaman dokumen yang menjelaskan langkah-langkah apa yang diperlukan untuk mendapatkan URL yang bagus itu. Lihat di sini: http://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs

Pada dasarnya Anda harus mengganti nama htaccess.txtfile yang ditemukan di direktori root Joomla Anda. Tergantung pada hoster Anda, langkah-langkah tambahan diperlukan.

Bakual
sumber
OK, saya akan mencobanya. Agak aneh bahwa Joomla tidak menghasilkan kode itu sendiri seperti yang sekarang saya pikirkan. Saya pikir saya sudah mencoba opsi itu dan ternyata crash.
connersz
1
Itulah alasan mengapa Joomla tidak menghasilkan kode itu sendiri. Itu sangat tergantung pada tuan rumah dan kami tidak ingin menghancurkan situs Anda sepenuhnya dengan mengaktifkan fitur :)
Bakual
4

Anda dapat menambahkan kode ini ke bagian atas index.php Joomla:

if(strcmp($_SERVER['REQUEST_URI'], '/index.php') == 0 && $_SERVER['QUERY_STRING'] == ''){
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: /');
    exit;
}

Namun berhati-hatilah, jika Anda mengambil pendekatan ini, Anda harus mengulang ini ketika Anda meningkatkan.

ContextSwitch
sumber
Saya sarankan Anda bisa melakukan ini sebagai peretasan opsional jika pengalihan dan ReWrite tidak bekerja di htaccess. Jadi jatuh kembali valid
tristanbailey
sepakat. itulah sebenarnya cara kami mencapai solusi ini. Kami tidak bisa memperbaiki htaccess agar berfungsi dengan baik di seluruh situs
ContextSwitch
4
  1. Mengubah htaccess.txt menjadi .htaccess
  2. Situs> Konfigurasi Global: Gunakan penulisan ulang URL (Pilih Ya)
  3. Pengaturan SEO, URL Ramah Mesin Pencari (Pilih Ya)
Vick-Nguyen
sumber
2

Berikut adalah metode umum jika situs Anda mogok menggunakan .htaccess:

  • Anda harus mengomentari salah satu atau kedua baris ini:

Pilihan + FollowSymLinks

dan / atau

RewriteBase /

Ini seharusnya bekerja dengan baik! Catatan: Anda berkomentar dengan memberikan tagar untuk baris "#"

tgyozo
sumber
1

Jika Anda menggunakan server web nginx , maka Anda dapat menggunakan cuplikan berikut untuk nginx.conffile konfigurasi tempat Joomla Anda! situs dilayani dari (pada dasarnya, tambahkan saja jika-kondisi setelah baris yang ada di mana index index.phparahan muncul).

#https://stackoverflow.com/a/38165768/remove-index-php-from-joomla-urls-with-nginx
index index.php index.html index.htm;
if ($request_uri ~ "^/(.*)(?<=/)index\.php/?((?<=/).*)?$") {    return  301 /$1$2;  }

Rincian lebih lanjut ada di /programming/28997028/remove-index-php-from-joomla-urls-with-nginx/38165768#38165768 .

cnst
sumber