yakamara / redaxo_yrewrite Goto Github PK
View Code? Open in Web Editor NEWA multidomain URL rewrite engine for REDAXO
License: MIT License
A multidomain URL rewrite engine for REDAXO
License: MIT License
Werden Domains mit http://
angelegt, kommt im Frontend dann http://http://ww.domain.de.
Entweder Domain vor dem speichern bearbeiten oder prüfen und Fehlermeldung ausgeben.
Besser wäre rex_form.
Ansonsten muss man zwingend XForm installieren (check bei Installation fehlt) obwohl man es nicht bräuchte.
Individuelle URL Vergabe.
Damit wäre glaube ich das Wichtigste erledigt... :-)
LG
Oliver
http://www.seo-diaries.de/wp-content/uploads/Bildschirmfoto-2012-12-11-um-20.02.10.png
Es sollte deshalb überlegt werden, ob man dem User tatsächlich ermöglichen sollte hier Defaults einstellen zu können. MMn sollten die Felder entweder leer bleiben, oder man sollte sie von Hand und individuell auf den Content zugeschnitten befüllen.
isPartOfDomain($aid)
Beispiel für die Suchausgabe via RexSearch
<?php
if($hit['type'] == 'article') {
$article = OOArticle::getArticleById($hit['fid']);
if (isset($article) && $article instanceof OOArticle) {
$compare_a = rex_yrewrite::getDomainByArticleId($article->getId())->getName();
$compare_b = rex_yrewrite::getDomainByArticleId(REX_ARTICLE_ID)->getName();
if ($compare_a == $compare_b) {
// gefundener Artikel gehoert zur aktuellen Domain
}
}
}
?>
Ich verwende $REX['CUR_CLANG'] in der config.inc.php eines Addons. Deaktiviert man yrewrite, kommt die richtige Sprach-Id an.
Vorteil wäre, dass man spezielle Domainabhängigkeiten direkt nachrüsten kann.
Bspl.
Abrufbar über
rex_yrewrite::getDomainByArticleId($article_id)->getValue('label')
System > Sprache anlegen
Notice: Undefined offset: 1 in /redaxo/include/addons/yrewrite/classes/class.rex_yrewrite.inc.php on line 416
Catchable fatal error: Argument 2 passed to rex_yrewrite_scheme::getClang() must be an instance of rex_yrewrite_domain, null given, called in /redaxo/include/addons/yrewrite/classes/class.rex_yrewrite.inc.php on line 417 and defined in /redaxo/include/addons/yrewrite/classes/class.rex_yrewrite_scheme.inc.php on line 18
Home -> Rootebene
Gern komplett im Backend, könnte aber auch auf den Seiten von yrewrite reichen.
Analog zu rex_getUrl nur eben mit kompletter Domain / Scheme / Host etc. vorne dran.
Hier kommt eine falsche Domain heraus
$link = $REX['SERVER'] . rex_getUrl('', '', array('id' => $id));
echo $link;
// undefined/de/article.html?id=1
richtig wäre es so
$link = rex_getUrl('','',array('news_id'=>$news_id));
$link = substr($link, 1);
$link = rex_yrewrite::getFullPath($link);
echo $link;
// http://www.domain.de/de/article.html?id=1
ist aber zu umständlich
Sind Artikel als
zugewiesen, dann sollte das löschen unterbunden werden.
Huhu :) Das sollte aufjedenfall in die .htaccess mMn um eben zu vermeiden, dass das ganze Zeugs aus files/addons etc. im Google Index landet.
https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess#L289-L300
(sollte jetzt unproblematisch sein, wegen der If-Abfrage, Boilerplate machts ja auch ;))
Zurzeit werden zunächst die Tabellen erzeugt/angepasst, und dann die Redaxo-, XForm- und PHP-Version gecheckt. Sollte das nicht eher andersrum sein? ;)
Seit dem der QueryString geht nix mehr.
So ein bisschen SEO Kram fehlt ja doch (z.b. /de ausblenden )
Der EP[1] sollte ein array() wie
array('article_id' = 1, 'clang' = 0);
zurückbekommen. Damit kann yrewrite den Check durchführen, ob die geliefert article_id zur Domain gehört.
[1] https://github.com/dergel/redaxo4_yrewrite/blob/master/classes/class.rex_yrewrite.inc.php#L174
In der Schnellnavigation am besten nur die Struktur der aktuellen Domain abbilden und neben den Titel "Strukturverwaltung" einen Domainswitcher anzeigen lassen.
Hintergrund. Die Schnellnavi kann stark anwachsen und wird dadurch sehr unübersichtlich. Auch geht die Performance der Seitenaufrufe nach unten.
Könnte man ggf eine SSL Proxy Domain einbinden ?
zB: https://ssl-routing.de/meineredaxoseite.tld (wobei meineredaxoseite.tld die echte Redaxodomain wäre)
Sind die Domainkategorien offline, wird eine Wartungsseite ausgegeben. Nur bei online-Status wird die Seite komplett erreicht.
Hallo,
voller tatendrang wollte ich heute eine R451er auf 461 updaten.
Leider bekomme ich folgenden Fatal:
Fatal error: Call to a member function getTitle() on a non-object in D:\wamp\www\gregor\redaxo\include\addons\yrewrite\classes\class.rex_yrewrite_seo.inc.php on line 52
R4.6.1
YR 1.2.2
PHP 5.5.12
WAMP auf Win 7
l.G. Nuxx
Wenn ein Metainfofeld angelegt wird, regenriert yrewrite den Cache "zu schnell", so dass dieses Feld nicht aufgenommen wird. Nur erneutes Cache löschen hilft.
Wäre fein, wenn man via EP die Seo Sitemap erweitern könnte.
Siehe auch
tbaddade/redaxo_plugin_url_control#8
sollte man ändern
domain1 -> domain2 über Navigation = 404 Seite der domain 1
Besser wäre http://domain2/artikelxy.html
So, dass man verschiedene Tabellen in eine URL Rewritelogik einbauen kann. Dabei soll auch die Umschreibung in content beachtet werden.
Werden Dateiverknüpfungen beim Medienpool Dateilöschen geprüft
Hallo Jan,
habe für ein neues Projekt voller Euphorie dein YREWRITE einsetzen wollen und bekam gleich einen "Dämpfer"... Das AddOn finde ich echt prima... (LIKE)
Im aktuellen Projekt mit REX4.6 funktioniert MOD-REWRITE wohl nicht fehlerfrei?
Beste Grüße,
Gilbert
Bräuchten wir für ein aktuelles Projekt.
yrewrite Version 1.2.2
Über den normalen Button werden nur die "internen" Kategorien/Artikel angezeigt. Über einen zusätzlichen Button wird die "externe" Linkmap (alle Kategorien die nicht zur aktuellen Domain gehören) angezeigt.
Kurzum, die Linkmap ein wenig filtern.
Bspl. Café wird zu caf.html
Notice: Undefined offset: 1 in /addons/yrewrite/classes/class.rex_yrewrite.inc.php on line 416
Catchable fatal error: Argument 2 passed to rex_yrewrite_scheme::getClang() must be an instance of rex_yrewrite_domain, null given, called in /addons/yrewrite/classes/class.rex_yrewrite.inc.php on line 417 and defined in /addons/yrewrite/classes/class.rex_yrewrite_scheme.inc.php on line 18
_ über ablauf, damit klar wird welche rewrite option zuerst greift
_ über die verschiedenen multidomainanwendungen
_ über weiterleitungsfunktionen
einen Status "automatisch" mit vergeben
ob z.b. Sprache auf Unterseite oder eigene Domain geht..
optional ?
Sodass man Redakteure ggf. dieses Recht ausblenden dürfen
auch in der Übersicht im Backend verwalten können
Ich habe diese Zeile[1] in einem aktuellen Projekt ändern müssen.
[1] https://github.com/yakamara/redaxo_yrewrite/blob/master/classes/class.rex_yrewrite.inc.php#L234
alt
if (isset($params['clang']) && $params['clang'] > 0) {
neu
if (isset($params['clang']) && $params['clang'] > -1) {
Warum vor dem Neusetzen von $REX['CUR_CLANG'] der Wert 1 ist und nicht 0 habe ich nicht weiter nachgeprüft.
Zumindest wurde die Clang-Id "0" richtig an den EP übergeben. yrewrite hat diesen aber wegen der obigen Zeile nicht beachtet.
Wenn man den URL-Tab der Gesamtstartseite aufruft, erhält man diese Meldung:
Dies ist der Startartikel der Domain "undefined" und kann nicht verändert werden. Die URL ist hier immer "/"
Öffnet man den URL-Tab in einem anderen Artikel, der ebenfalls nur der undefined-Domain gehört, steht unter dem Eingabefeld z. B.:
http[s]://undefined/test.html
Bin selbst nicht sicher ob es gut ist, fehlt aber grad bei einem Projekt.
Unter Domains verwalten einen REX_LINK_BUTTON
für den Artikel der Suchausgabe.
Für das Formular eine Methode bereitstellen wie getSearchArticleUrl()
z. Bsp.
<form action="' . rex_yrewrite:: getSearchArticleUrl() . '">
direkt nach anlegen einer Kategorie
Notice: Undefined offset: 1 in /redaxo/include/classes/class.ooredaxo.inc.php on line 151
Notice: Undefined offset: 2 in /redaxo/include/classes/class.ooredaxo.inc.php on line 151
Notice: Undefined offset: 3 in /redaxo/include/classes/class.ooredaxo.inc.php on line 151
Domain A ist unter System eingetragen
Domain B ist in der Verwaltung von yrewrite eingetragen mit
Domain A soll auf alle Artikel zeigen, die nicht zu Domain B gehören.
Sobald man aber in Domain B ist, gehören alle Artikel zur Domain B und nicht mehr zu Domain A
Es gibt 3 Bereiche, davon sollen 2 (Cat 2 und Cat 3) aber unter einer Domain (Domain A) laufen sowie auch alle Rootartikel. Home ist der Eingangsartikel mit Verweis auf die drei Bereiche.
Home
AGBs
Impressum
falls irgendwo in einem Artikel ein URL vergeben wurde, die nun nicht mehr auffindbar ist.
in sitemap nicht aufliefern und einzelne Seiten entsprechend auswerten
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.