Verwenden Sie die Joomla-Umleitungskomponente, um fehlerhafte URLs zu beheben

8

Kann jemand bei der Verwendung der J3-Umleitungskomponente helfen, um diese Art von defekten Links zu beheben:

https://www.portal-gestao.com/whatever/whatever/9999-title-of-the-page

Zu:

https://www.portal-gestao.com/item/9999-title-of-the-page

Und das:

http://www.portal-gestao.com/whatever/whatever/itemlist/tag/name-of-the-tag.html

Zu:

https://www.portal-gestao.com/item/tag/gurus.html

Und das:

http://www.portal-gestao.com/whatever/whatever/itemlist/user/9999-name-of-author.html

An: http://www.portal-gestao.com/item/author/3707-name-of-author.html

Vielen Dank für Ihre Hilfe!

Nuno Nogueira
quelle
Was meinst du mit was auch immer / was auch immer / in deinen URLs, sind sie der Alias ​​einiger Menüpunkte? Es wäre hilfreich, die genaue URL anzugeben, die Sie zum Beispiel sehen. /components/com_tags/list/23-tag.html
Nagarjun
Ja, früher, bevor die Menüstruktur aktualisiert wurde. Beispiel: portal-gestao.com/gestao/carreira/… portal-gestao.com/gestao/carreira/…
Nuno Nogueira
1
Sie haben also Ihre alte Menüstruktur vollständig entfernt und jetzt sind alle Ihre alten Artikel von wo aus verlinkt? Sollten alle über / item / id-article darauf zugreifen? Die J3-Umleitung hilft Ihnen dabei nicht. Da müssen Sie Seite für Seite Weiterleitungen erstellen.
FFrewin

Antworten:

6

Mit der folgenden .htaccess-Regel können Sie alle Seiten von einer URL mit dem Muster umleiten:

https://www.portal-gestao.com/whatever/whatever/9999-title-of-the-page

zu einer neuen URL von:

https://www.portal-gestao.com/item/9999-title-of-the-page


htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.portal-gestao.com
RewriteRule ^.*/.*/(.*)$ https://www.portal-gestao.com/item/$1 [L,R=301]

Ich bin mir jedoch nicht sicher, ob dies genau das ist, was Sie wollen, da sich so etwas auf alle URLs des obigen Musters auswirkt (2 dir Level-tiefe URLs), es sei denn, alle Ihre neuen URLs sind jetzt so.

Vielleicht wäre es besser, dieselbe Regel zu erstellen, aber indem Sie genau die "was auch immer" -Namen der alten Struktur angeben, wirkt sich das Umschreiben der URL nur auf diese alten Pfade aus.

z.B:

RewriteRule ^whatever1/whatever2/(.*)$ https://www.portal-gestao.com/item/$1 

Natürlich könnten Sie, wie @Nehal hervorhob, eine SEF-Erweiterung wie SH404SEF, JOOMSEF usw. in Betracht ziehen, die Ihnen beim Umgang mit Ihren 404-Seiten (defekte Links) hilft. Die meisten von ihnen bieten Einstellungen, um zu konfigurieren, wie die URLs Ihrer Website erstellt werden sollen.

FFrewin
quelle
Ja, die 1. Regel leitet alles um, das brauche ich nicht. Der zweite scheint besser zu sein. Vielen Dank
Nuno Nogueira
3

Sie können den Redirect Manager von Joomla verwenden, um die alte URL auf die neue umzuleiten.

Gehen Sie im Joomla-Backend zu:

Komponenten >> Weiterleiten >> Neu

In dem Quell - URL - Feld geben Sie die alte URL und in dem Ziel - URL - Feld, geben Sie die neue URL

Lodder
quelle
Ja, ich weiß :-) Die Sache ist, wie man die Regeln oben erstellt (nicht Seite für Seite)
Nuno Nogueira
1
Ahh ... dafür müssen Sie möglicherweise eine Umleitungserweiterung mit einer Regex-Funktion verwenden oder Ihre htaccessDatei bearbeiten . Leider bin ich kein htaccessExperte, daher kann ich nicht wirklich helfen. Hoffentlich kann Ihnen jemand anderes einen Einblick geben
Lodder
3

Sie können die JOOMSEF- Komponente verwenden, die für SEO-Zwecke bestimmt ist und mehr von dieser Erweiterung kostenlos ist.

Außerdem haben Sie in dieser Komponente die Möglichkeit, Kategorie- und Menünamen aus der URL zu entfernen und die URL entsprechend Ihren Anforderungen anzupassen .

Nehal
quelle