Webdesign in Siegen

PHP Includes und die Suchmaschinen =(

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

PHP Includes und die Suchmaschinen =(

Beitragvon AlphaWolf1941 am 03.09.2007, 21:10

Halli Hallo Leutz,

hab meiner Seite ein neues Design und gleichzeitig eine Frischzellenkur des Codes verpasst. Weil ich eh grade dran war habe ich auch gleich noch die ganze Seite mit PHP Includes aufgebaut.

In der Index.php befindet sich quasi nur das Grundgerüst ... das Navi Menü und den Contentbereich habe ich jeweils in eine eigene PHP Datei ausgelagert ...

Zur Veranschaulichung:
Bild

Jetzt habe ich aber das Problem das die Suchmaschinen die Seiten nicht finden ... :staun:

Kann mir da vielleicht jemand weiterhelfen ... ich dreh sonst noch durch :mrgreen:
"Es ist gelogen, daß Videogames Kids beeinflussen.
Hätte Pac Man das getan, würden wir heut durch dunkle Räume irren, Pillen fressen und elektronische Musik hören!"


K. Wilson, Nintendo Inc 1989
Benutzeravatar
AlphaWolf1941
Mitglied
 
Beiträge: 120
Registriert: 10.07.2006, 18:52
Wohnort: Mülheim a.d. Ruhr

Beitragvon Manuel am 03.09.2007, 21:39

Du meinst sie indexieren die Unterseiten nicht? Wie schaut denn die URL aus? Normalerweise werden diese ebenfalls indexiert, es dauert nur eine Zeit, hängt bestimmt auch ein wenig von der Relevanz der Seite ab.

Falls die die URL nicht passt, kann ich dir Mod_Rewrite ans Herz legen. Damit kannst du deine URL umschreiben und aus dynamischen Seiten, scheinbar statische Seiten erzeugen.
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Beitragvon AlphaWolf1941 am 03.09.2007, 21:56

Ja genau das meine ich ...

Habe zum testen meinen Vor- und Zunamen angegeben, so wie er auch im Impressum auftaucht, doch die Seite wird nicht in Google gefunden. Das Impressum für die Seite meiner Mutter hingegen schon ( HTML Dokument ).

Die genaue URL lautet wie folgt:
http://www.alphawolf1941.de/index.php?action=welcome

Meinst du mit Mod_Rewrite geht das??? Hab mir sagen lassen das die Suchmaschinen sich dadurch nicht wirklich täuschen lassen.

Code wäre glaub ich wie folgt:
Code: Alles auswählen
RewriteEngine on
RewriteRule ^(.*).html$ $1.php


Sollte so zumindest alle PHP wie HTML Dateien "tarnen".
"Es ist gelogen, daß Videogames Kids beeinflussen.
Hätte Pac Man das getan, würden wir heut durch dunkle Räume irren, Pillen fressen und elektronische Musik hören!"


K. Wilson, Nintendo Inc 1989
Benutzeravatar
AlphaWolf1941
Mitglied
 
Beiträge: 120
Registriert: 10.07.2006, 18:52
Wohnort: Mülheim a.d. Ruhr

Beitragvon Persisteus am 04.09.2007, 15:10

Hab mir sagen lassen das die Suchmaschinen sich dadurch nicht wirklich täuschen lassen.

Suchmaschinen können nicht deine Servereinstellungen umgehen.

Code: Alles auswählen
RewriteEngine on
RewriteRule ^(.*).html$ $1.php

Der reguläre Ausdruck ist falsch. Du musst Punkte, die auch als Punkte zählen sollen, mit einem Backslash maskieren. Sonst wird sowas wie "testXhtml" nach "test.php" umgewandelt.

Also ich würde dir sowas empfehlen:
Code: Alles auswählen
RewriteEngine on
RewriteRule ^(.*)\.html$ index.php?action=$1
Persisteus
Mitglied
 
Beiträge: 39
Registriert: 29.07.2007, 16:34

Beitragvon AlphaWolf1941 am 04.09.2007, 16:16

Hmm komisch ...

irgendwie bekomm ich beim Seitenaufruf einen 403 Error :(
Zuletzt geändert von AlphaWolf1941 am 04.09.2007, 17:00, insgesamt 1-mal geändert.
"Es ist gelogen, daß Videogames Kids beeinflussen.
Hätte Pac Man das getan, würden wir heut durch dunkle Räume irren, Pillen fressen und elektronische Musik hören!"


K. Wilson, Nintendo Inc 1989
Benutzeravatar
AlphaWolf1941
Mitglied
 
Beiträge: 120
Registriert: 10.07.2006, 18:52
Wohnort: Mülheim a.d. Ruhr

Beitragvon Basti am 04.09.2007, 16:36

Also ich hab das bei mir mit den RegExp immer so geschrieben:

Code: Alles auswählen
RewriteRule (.*).html index.php?action=$1


Da der Punkt nicht innerhalb der RegExp steht, braucht man ihn auch nicht zu escapen, zumindest geht es bei mir auch so.
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon Persisteus am 04.09.2007, 16:44

AlphaWolf, welche URL rufst du denn auf? Müsste hier z.B. "welcome.html" sein. Die Fehlermeldung müsste eigentlich die URL anzeigen, welche angefordert worden ist. Kannst ja mal gucken, was die RegExp da aus deiner Anfrage-URL geformt hat.

Da der Punkt nicht innerhalb der RegExp steht, braucht man ihn auch nicht zu escapen, zumindest geht es bei mir auch so.

Natürlich steht der Punkt innerhalb der RegExp!
Der Ausdruck "(.*).html" passt u.a. zu folgenden Beispielen:

test.html
testhtml
testhtmlblahblubb

In dem ersten Beispiel wird in $1 der Wert "test" gespeichert, in den anderen zwei der Wert "tes".

Die von euch geschriebenen RegExps lassen mehr Begriffe zu, als eigentlich erlaubt wären.
Zuletzt geändert von Persisteus am 04.09.2007, 16:52, insgesamt 1-mal geändert.
Persisteus
Mitglied
 
Beiträge: 39
Registriert: 29.07.2007, 16:34

Beitragvon Basti am 04.09.2007, 16:46

Stimmt, hab mich da glaub ich vertan, leider benutze ich RegExp nicht so oft und kann damit noch nicht so gut umgehen.

Aber danke, dass du mich nochmal drauf aufmerksam gemacht hast ;)
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon AlphaWolf1941 am 04.09.2007, 17:04

Hey Persisteus,

also ich rufe beim Start ganz normal die Index Datei auf, nur über die URL http://www.alphawolf1941.de !!!

Hier mal ein Screenshot von der Fehlermeldung

Bild
"Es ist gelogen, daß Videogames Kids beeinflussen.
Hätte Pac Man das getan, würden wir heut durch dunkle Räume irren, Pillen fressen und elektronische Musik hören!"


K. Wilson, Nintendo Inc 1989
Benutzeravatar
AlphaWolf1941
Mitglied
 
Beiträge: 120
Registriert: 10.07.2006, 18:52
Wohnort: Mülheim a.d. Ruhr

Beitragvon Manuel am 04.09.2007, 17:16

Ist Mod Rewrite auf dem Server installiert? Wenn nicht, dann wirds auch nicht gehen.

Zudem sollte man vielleicht sagen, dass manche Seiten einfach schneller indexiert werden als andere. Statische Seiten haben da durchaus einen Vorteil, dennoch bringen solche Lösungen dann nicht unbedingt direkten Erfolg. Oft liegt es auch an unsauberem Quellcode usw.

Dennoch ist Mod Rewrite eine tolle Sache und wenns auf dem Server läuft, machst du damit keinesfalls "Verluste".

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Beitragvon Persisteus am 04.09.2007, 17:18

Vielleicht ein Tippfehler? Kopier doch mal deine komplette .htaccess mal hier rein! Ansonsten guck mal in die Logfiles, irgendwie musst du ja an den Fehler rankommen!
Persisteus
Mitglied
 
Beiträge: 39
Registriert: 29.07.2007, 16:34

Beitragvon Basti am 04.09.2007, 17:40

Wenn die "welcome" Seite auch deine Startseite sein sollte, würde ich mal zusätzlich vor alle anderen Umschreib-Regeln eine "undynamische" schreiben, um die Index-Seite richtig anzuzeigen.
Selbst wenn diese nur "index.php" sein sollte, sollte das explizit angegeben werden, da es ja auch sonst zu einer "falschen" Umschreibung kommt.

Code: Alles auswählen
RewriteRule index.html index.php

oder

RewriteRule index.html index.php?action=welcome


Das Problem hatte ich nämlich anfangs auch, da er ja bisher nur die eine Regel kennt und das ganze dann so umschreiben würde:

index.html -> index.php?action=index
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon AlphaWolf1941 am 04.09.2007, 17:55

Hab eure Vorschläge nochmals ausprobiert -> Copy&Paste, aber es funktioniert immer noch nicht.

Denke mal Manu hat Recht und auf dem Server ist Mod Rewrite nicht installiert. Um das herauszufinden habe ich an meinen Hoster eine Mail geschrieben. Bin ja mal gespannt.

Ich geb euch bescheid sobald ich was weiss.

Trotzdem vielen Dank an euch :thumbsup: ;-] :mrgreen:
"Es ist gelogen, daß Videogames Kids beeinflussen.
Hätte Pac Man das getan, würden wir heut durch dunkle Räume irren, Pillen fressen und elektronische Musik hören!"


K. Wilson, Nintendo Inc 1989
Benutzeravatar
AlphaWolf1941
Mitglied
 
Beiträge: 120
Registriert: 10.07.2006, 18:52
Wohnort: Mülheim a.d. Ruhr

Beitragvon Basti am 04.09.2007, 18:04

Geb doch einfach mal die PHP Infos aus und schau dort nach, ob die ModRewrite aktiviert ist:

Code: Alles auswählen
<?php

phpinfo();

?>
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon AlphaWolf1941 am 04.09.2007, 18:34

Hmmm, also in der Liste steht Mod_Rewrite als aktiv nachdem ich eine Bestätigung von meinem Hoster bekommen habe.

Jetzt bekomme ich keine Fehlermeldungen mehr, es passiert nur nix wenn ich die Seite aufrufe. So als ob ich keine .htaccess aufgespielt hätte :xx:

***EDIT***

Also ich habe Mod_Rewrite mit folgendem Code getestet
Code: Alles auswählen
RewriteEngine On
RewriteRule ^  http://www.google.de [R,L]


Laut dem mod_rewrite Foren FAQs würde Mod_Rewrite einwandfrei laufen wenn man nach http://www.google.de weitergeleitet wird ...

Bei mir werde ich dann nach http://www.google.de?action=welcome weitergeleitet ... liegt bestimmt daran das ich den Inhalt includiert habe!!!

Ergo müsste Mod_Rewrite funktionieren !!!

Ich glaub ich hau morgen mal meinen Ausbildungsleiter an ... :oops: ich bin echt am verzweifeln !!!
"Es ist gelogen, daß Videogames Kids beeinflussen.
Hätte Pac Man das getan, würden wir heut durch dunkle Räume irren, Pillen fressen und elektronische Musik hören!"


K. Wilson, Nintendo Inc 1989
Benutzeravatar
AlphaWolf1941
Mitglied
 
Beiträge: 120
Registriert: 10.07.2006, 18:52
Wohnort: Mülheim a.d. Ruhr

Nächste

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast