Wie entferne ich die 'index.php' von URLs?

Antworten:

17

Sie können dies tun, indem Sie die SEF-URLs und insbesondere den Parameter "URL-Umschreibung verwenden" in der globalen Joomla-Konfiguration aktivieren.

Bitte beachten Sie, dass dies einen internen Serverfehler erzeugt, wenn Sie die .htaccessDatei vor dem Aktivieren der Option nicht erstellt haben.

Auf einer Dokumentseite wird erläutert, welche Schritte erforderlich sind, um diese netten URLs abzurufen. Schauen Sie hier: http://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs

Grundsätzlich müssen Sie die htaccess.txtin Ihrem Joomla-Stammverzeichnis gefundene Datei umbenennen . Abhängig von Ihrem Hoster sind zusätzliche Schritte erforderlich.

Bakual
quelle
OK, ich werde es versuchen. Es ist ein bisschen komisch, dass Joomla diesen Code nicht selbst generiert, da ich jetzt darüber nachdenke. Ich glaube, ich habe diese Option ausprobiert und sie ist tatsächlich abgestürzt.
Connersz
1
Genau aus diesem Grund generiert Joomla den Code nicht selbst. Es hängt sehr vom Host ab und wir möchten Ihre Website nicht vollständig durch Aktivieren einer Funktion
beschädigen
4

Sie können diesen Code oben in Joomlas index.php hinzufügen:

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

Seien Sie jedoch vorsichtig, wenn Sie diesen Ansatz wählen, müssen Sie dies beim Upgrade wiederholen.

ContextSwitch
quelle
Ich würde vorschlagen, dass Sie dies als optionalen Hack ausführen können, wenn die Umleitung und ReWrite in htaccess nicht funktionieren. Also ein gültiger Rückfall
Tristanbailey
einverstanden. Genau so sind wir zu dieser Lösung gekommen. Wir konnten nicht erreichen, dass das htaccess-Update auf der gesamten Website ordnungsgemäß funktioniert
ContextSwitch
4
  1. Htaccess.txt wurde in .htaccess geändert
  2. Site> Globale Konfiguration: Verwenden Sie das Umschreiben von URLs (Wählen Sie Ja).
  3. SEO-Einstellungen Suchmaschinenfreundliche URLs (Wählen Sie Ja)
Vick-Nguyen
quelle
2

Hier ist eine allgemeine Methode, wenn Ihre Site mit .htaccess abstürzt:

  • Sie sollten eine oder beide dieser Zeilen kommentieren:

Optionen + FollowSymLinks

und / oder,

RewriteBase /

Das sollte gut funktionieren! Hinweis: Sie kommentieren, indem Sie ein Hashtag für eine Zeile "#" eingeben.

Tgyozo
quelle
1

Wenn Sie den nginx -Webserver verwenden, können Sie das folgende Snippet für die nginx.confKonfigurationsdatei verwenden, in der Ihr Joomla! Die Site wird von bedient (fügen Sie einfach die if-Bedingung nach vorhandenen Zeilen hinzu, in denen die index index.phpDirektive angezeigt wird).

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

Weitere Informationen finden Sie unter /programming/28997028/remove-index-php-from-joomla-urls-with-nginx/38165768#38165768 .

cnst
quelle