Seite 1 von 1

Problem mit meta refresh

Verfasst: 17.10.2006, 20:01
von aerow90
Hallo Zusammen,

ich habe ein ziemlich blödes Problem. Mein Forum für dass ich einen hohen Pagerank erzielen möchte sollte unter der URL www.1muenze.de erreichbar sein. ( Die Hauptseite) Die einzelnen Kategorien dann eben unter www.1muenze.de/forensoftware.pl=kategorie1 etc... Nun da meine Forensoftware beides nicht zulässt, ich das Forum aber auf die Domain www.1muenze.de installiert habe, bleibt mir nichts anderes übrig als www.1muenze.de per Meta-Refresh

Code: Alles auswählen

&#40;<meta http-equiv="refresh" content="0; URL=http&#58;//www.1muenze.de/cgi-bin/yabb2/YaBB.pl">&#41;
auf die direkte Startseite zu linken (siehe Code).

Nun muss ich allerdings feststellen dass sich im Pagerank nicht viel tut und so manche Tools nur den direkten Pfad (www.1muenze.de/cgi-bi/yabb2/YaBB.pl) zur Hauptseite erkennen und meinen meta refresh fallen lassen.

Da ich 1muenze.de nur auf die index.html verlinken kann, damit das Forum welches ja auf 1muenze.de installiert, auch weiterhin stehen bleibt, fällt mir keine Lösung ein die mir einen möglichst hohen PR auf meiner Hauptseite des Forums anzeigt.

(Ausser halt Framest aber überall sollte www.1muenze.de auch nicht in der Browserurl stehen)

Kennt jemand einen Weg ?

(PS: Geben Domains die auf das Forum leiten zb: www.muenzenmehr.de auch einen Pagerank an die Haupseite ab, bzw. erhalten diese Umleitungen überhaupt einen Rank?)

Danke vorab

Verfasst:
von

Re: Problem mit meta refresh

Verfasst: 17.10.2006, 20:44
von haha
aerow90 hat geschrieben:Forum […] unter der URL www.1muenze.de erreichbar sein. ( Die Hauptseite) Die einzelnen Kategorien dann eben unter www.1muenze.de/forensoftware.pl=kategorie1 etc... Nun da meine Forensoftware beides nicht zulässt,
[…]
nur den direkten Pfad (www.1muenze.de/cgi-bi/yabb2/YaBB.pl) zur Hauptseite erkennen
Wenn Dein Hoster Dir erlaubt, Programme auszuführen (CGI), dürfte mit hoher Wahrscheinlichkeit auch mod_rewrite aktiv sein (sofern es ein Apache-Webserver ist).
In dem Fall kannst Du von außen angeforderte URLs intern für die Verarbeitung durch den Webserver ändern bzw. umschreiben (daher mod_rewrite) lassen. Du legst dazu im Wurzelverzeichnis eine Datei namens .htaccess an und schreibst folgende Zeilen rein:

RewriteEngine on
RewriteBase /
RewriteRule ^$ cgi-bin/yabb2/YaBB.pl [L]

Die erste Zeile schaltet die Umschreiberei ein, die zweite sagt dem Webserver, wo er sich befindet bzw. wieviel er vom URL-Pfad abschnippeln muss, um in das aktuelle Verzeichnis zu kommen, die dritte schließlich ändert Anfragen an "" (leere URL, nach Entfernen der Domain und des RewriteBase-Pfades bleibt nichts übrig) in den Pfad zu Deiner Boardsoftware.
Die beiden Zeichen ^$ sind ein Muster (auch regulärer Ausdruck oder regex genannt). ^ steht für den Anfang einer Zeichenkette, $ für das Ende; da zwischen ^ und $ nichts ist, passt dieses Muster nur auf leere Zeichenketten, sprich einen leeren URL-Pfad.

Die ganze Aktion findet ausschließlich intern im Webserver statt, es handelt sich also nicht um eine Weiterleitung (auch wenn manchmal von einer "internen Weiterleitung" gesprochen wird). Von außen müsste es im Ergebnis so aussehen, als würde Dein Board unter der URL www.1muenze.de/ laufen.

Wenn das Ganze so wie erwartet funktioniert, kannst Du noch zwei weitere Zeilen hinzufügen:

RewriteCond %{REQUEST_URI} ^cgi-bin/yabb2/YaBB\.pl$
RewriteRule .* https://www.1muenze.de/ [R=301]

Damit leitest Du alle Anfragen an /cgi-bin/yabb2/YaBB.pl an / um, diesmal mit einer richtigen, dauerhaften Weiterleitung (301), so dass die cgi-URL aus den Suchmaschinen verschwinden sollte und das Board nur noch unter / erscheint.

Verfasst: 17.10.2006, 20:54
von aerow90
Wow, ich denke dass könnte es sein was ich suche (vielen Dank schonmal für den guten Beitrag)

Kannst du mir sagen was du mit Wurzelverzeichnis meinst html? cgi-bin? etc.

Verfasst:
von

Verfasst: 17.10.2006, 21:00
von haha
aerow90 hat geschrieben:Kannst du mir sagen was du mit Wurzelverzeichnis meinst html? cgi-bin? etc.
Das Wurzelverzeichnis ist immer das oberste Verzeichnis, höher geht's nicht. www.1muenze.de/ wäre zum Beispiel das Wurzelverzeichnis Deines Webservers, in diesem Wurzelverzeichnis liegt bei Dir wiederum das Verzeichnis cgi-bin/, die Datei robots.txt und auch die Datei .htaccess.

Verfasst: 18.10.2006, 12:32
von aerow90
Ok alle klar, ich werd mich mal dran tun und dann das Ergebnis berichten!

Verfasst: 18.10.2006, 12:50
von aerow90
So ich habe nun in der .htaccess die drei obigen Zeilen eingegeben und in die index.html (wo der meta-refresh stand) diese zwei Zeilen:

RewriteCond %{REQUEST_URI} ^cgi-bin/yabb2/YaBB\.pl$
RewriteRule .* https://www.1muenze.de/ [R=301]

Ich konnte zwar jetzt keinen Unterschied zwischen diesem und dem meta refresh feststellen, doch dieser sollte sich dann eventuell bei der Indexierung bemerkbar machen.

(Ich hoffe dass es so stimmt)

Vielen vielen Dank aber nochmals für die wirklich gute Erklärung

Verfasst: 18.10.2006, 14:38
von haha
aerow90 hat geschrieben:So ich habe nun in der .htaccess die drei obigen Zeilen eingegeben und in die index.html (wo der meta-refresh stand) diese zwei Zeilen:

RewriteCond %{REQUEST_URI} ^cgi-bin/yabb2/YaBB\.pl$
RewriteRule .* https://www.1muenze.de/ [R=301]
Nein, die gehören auch in die .htaccess. Die /index.html kannst Du ganz löschen.

Du wirst allerdings die YaBB-Basis-URL noch anpassen müssen. Irgendwo in der Administrationsoberfläche müssten sich Pfade einstellen lassen, vermutlich unter /cgi-bin/Admin/AdminEdit.pl. Dort sollte auch ein Eintrag existieren, der "Board-URL" oder ähnlich heißt und momentan "/cgi-bin/yabb2" enthalten dürfte. Ändere diesen in "" (leer).
Falls Du den Eintrag nicht findest, ändere in der Datei cgi-bin/Paths.pl die Zeile $boardurl = "/cgi-bin/yabb2" in $boardurl = "".

Verfasst: 18.10.2006, 16:00
von aerow90
Hi, nochmals, also die index.html ist gelöscht und die zwei Zeilen sind der .htaccess zugefügt. Nun wenn ich in meinen Paths.pl die Boardurl rausnehme oder nur 1muenze.de drin lasse kann ich zwar mein Forum unter www.1muenze.de aufrufen (Wirkung wie Meta Refresh), allerdings nicht mehr das Admin Menü und die einzelnen Kategorie etc. da diese ja auch auf dem cgi-bin/yabb2/ basieren.

Verfasst: 18.10.2006, 18:03
von haha
aerow90 hat geschrieben:Nun wenn ich in meinen Paths.pl die Boardurl rausnehme oder nur 1muenze.de drin lasse kann ich zwar mein Forum unter www.1muenze.de aufrufen (Wirkung wie Meta Refresh), allerdings nicht mehr das Admin Menü und die einzelnen Kategorie etc. da diese ja auch auf dem cgi-bin/yabb2/ basieren.
Stimmt, komplizierter als ich dachte. Das folgende scheint zu funktionieren (alten Kram aus der .htaccess komplett rauswerfen):

Code: Alles auswählen

RewriteEngine on
RewriteBase /

RewriteCond %&#123;THE_REQUEST&#125; "^&#91;A-Z&#93;+ /cgi-bin/yabb/YaBB\.pl.* HTTP"
RewriteRule ^cgi-bin/yabb/YaBB\.pl$ http&#58;//www.1muenze.de/ &#91;R=301&#93;

RewriteRule ^$ cgi-bin/yabb/YaBB.pl &#91;L&#93;

RewriteCond %&#123;DOCUMENT_ROOT&#125;/cgi-bin/yabb%&#123;REQUEST_URI&#125; -f
RewriteRule &#40;.*&#41; cgi-bin/yabb/$1
Der erste RewriteCond/RewriteRule-Block leitet Anfragen an /cgi-bin/yabb/YaBB.pl nach / um, damit die alten URLs verschwinden.

Der zweite Block ruft für Anfragen an / die Boardhauptseite auf, also cgi-bin/yabb/YaBB.pl.

Der dritte Block sorgt dafür, dass bei jeder Anfrage geprüft wird, ob eine entsprechende Datei in /cgi-bin/yabb/ existiert, und falls ja, wird diese aufgerufen. Ruft man also /AdminIndex.pl auf, wird nachgeschaut, ob /cgi-bin/yabb/AdminIndex.pl existiert und anschließend ausgeführt.

Verfasst: 19.10.2006, 18:02
von aerow90
Vielen vielen Dank für die tolle Information nun läuft alles wirklich Großartig.

Kennst du vielleicht ein Buch (Gebunden nicht ebook) das über modrewrite handelt (auf Deutsch), denn das ist ein Interessantes Thema über dass ich mich gerne Schlau machen möchte.

Viele grüße Sandro