URL'lerden 'index.php' nasıl kaldırılır?


Yanıtlar:


17

Bunu, Joomla global yapılandırmasında SEF URL'lerini ve özellikle "URL yeniden yazmayı kullan" parametresini etkinleştirerek yapabilirsiniz.

.htaccessSeçeneği etkinleştirmeden önce dosyayı oluşturmadıysanız, bunun dahili sunucu hatası oluşturacağını lütfen unutmayın .

Bu güzel URL'leri almak için hangi adımların gerektiğini açıklayan bir doc sayfası var. Buraya bir göz atın: http://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs

Temel olarak htaccess.txtJoomla kök dizininizde bulunan dosyayı yeniden adlandırmanız gerekir. Barındırıcınıza bağlı olarak ek adımlar gereklidir.


Tamam, bunu deneyeceğim. Şimdi düşündüğüm gibi Joomla bu kodu kendisi üretmez biraz garip. Bence bu seçeneği denedim ve aslında çöktü.
connersz

1
Joomla'nın kodu kendisi üretmemesinin nedeni budur. Ana bilgisayara çok bağlıdır ve bir özelliği etkinleştirerek sitenizi tamamen kırmak istemiyoruz :)
Bakual

4

Bu kodu Joomla'nın index.php dosyasının en üstüne ekleyebilirsiniz:

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

Yine de dikkatli olun, eğer bu yaklaşımı kullanırsanız, yeni sürüme geçtiğinizde bunu tekrar yapmanız gerekir.


Yönlendirme ve ReWrite htaccess'te çalışmadıysa, bunu isteğe bağlı bir kesmek olarak yapabileceğinizi öneririm. Geçerli bir geri dönüş
tristanbailey

kabul. aslında bu çözüme böyle ulaştık. Site çapında düzgün çalışmak için htaccess düzeltmesini
alamadık

4
  1. Htaccess.txt dosyası .htaccess olarak değiştirildi
  2. Site> Genel Yapılandırma: URL yeniden yazmayı kullan (Evet'i seçin)
  3. SEO Ayarları Arama Motoru Dostu URL'ler (Evet'i seçin)

2

Siteniz .htaccess kullanarak kilitleniyorsa genel bir yöntem aşağıdadır:

  • Bu satırlardan birini veya her ikisini de yorumlamanız gerekir:

Seçenekler + FollowSymLinks

ve / veya,

RewriteBase /

Bu iyi olmalı! Not: "#" satırı için bir hashtag vererek yorum yaparsınız


1

Eğer kullanıyorsanız nginx web sunucusu, o zaman için şu ön kullanabilirsiniz nginx.confyapılandırma dosyasında Joomla! sitesinden (temel olarak, index index.phpdirektifin göründüğü mevcut satırlardan sonra if koşulunu eklemeniz yeterlidir).

#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;  }

Daha fazla ayrıntı /programming/28997028/remove-index-php-from-joomla-urls-with-nginx/38165768#38165768 adresindedir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.