weiß eigentlich jemand, ob es aus Suma-Sicht und Positionen in den Serps nachteilig ist, wenn beim Besuch immer ne 304 not modified ausgegeben wird, weil die besuchte Seite statisch ist? Ich hab halt nen paar Seiten, die sich öfters ändern und nen paar, wo sich gar nix tut, weil sie inhaltlich statisch sind.
den meta tag Date kann man dann ja mit $last_modified ausgeben lassen, oder?
thx!
EDIT: Danke übrigens für die vielen Erklärungen und für den Quelltext...
nochmal ne andere frage:
ich hab gerade versucht die funktion verschaltelt aufzurufen. sah dann so aus:
index.php ruft header.inc auf. Header.inc ruft die funktion auf un verarbeitet diese (mit timestamp usw). Allerdings wird dabei der header nicht modifiziert. wenn in die funktion direkt in der index.php aufrufe, dann klappt alles wunderbar.
in keinem fall wird vorher irgendetwas ausgegeben. d.h. es sollte eigentlich auch verschachtelt funktionieren. tut es aber leider nicht.
hat da jemand von euch noch nen tip?
danke!
und noch nen edit:
jetzt gehts...in der index.php hab ich jetzt die funktion includiert.
in der header.inc rufe ich diese funktion auf....damit funktioniert es so wie's soll... problem also gelöst
EDIT:
es wäre ja auch zu schön gewesen. Folgendes: Ich habe in meiner SQL Tabelle meine Timestamps. Die SQL-Dateien (mysql_connect, usw) binde ich mittels einer externen datei ein. Ziel ist es, den Timestamp der SQL Tabelle auszuelesen und in der doConditionalGet zu verarbeiten. Allerdings wurden da lt. Fehlermeldung die Headerinformationen schon gesendet und können somit nicht mehr modifiziert werden... SChön und gut, aber das muss doch irgendwie gehen, oder?
danke & sorry wg. der zahlreichen postings...
ja....dann beißt sich bei mir die katze aber in den schwanz, weil ich das script für DB ja vorm header-Senden einbinden muss, da ich die last-modified Daten aus der SQL Tabelle bracuhe....
Wie macht ihr das in so einem fall? Die SQL-Logon Daten statisch in jede seite einzeln einbinden=?
das ist es ja grade.....ich hab ja vorher gar keinen html code...aber ich werd mir das nochmal genau anschauen.... kann ja nicht sein, dass es nicht geht. danke jedenfalls erstmal für deine hilfe
ich kam heute mal dazu mir die sache nochmal anzuschauen.
jetzt hab ich folgedens festgestellt:
mein include konstrukt funzt wunderbar, solange ich nicht die mysql_logon include. sobald ich die aber für ne DB Abfrage benötige heißt es, dass die header schon gesendet wurden.
Wenn ich aber die beiden zeilen der logon direkt in den quelltext schreibe und nicht includiere, dann geht es. d.h. der fehler, wo irgendwas gesendet wird muss hier liegen:
<?php
$db = mysql_connect("localhost", "user", "password");
mysql_select_db("datenbank",$db);
?>
wie gesagt, binde ich die zeilen direkt ein, passts, includiere ich die sache, dann gibts nen fehler.
includieren ist. m.E. aber sinnvoll, da bspw. bei einer passwort änderung nur eine datei ändern muss.
also irgendwie kapier ichs nicht. da ist ja nirgendwo html code. alles nur php.
EDIT: Fehlermeldung ist, dass in Line 6 der Logon schon was gesendet wurde. Meine logon besteht aber def. nur aus 4 Zeilen (wie oben dargestellt) Lerrzeichen, Umbrüche usw: alles entfernt...:/
Zuletzt geändert von chrizz am 17.05.2007, 16:18, insgesamt 1-mal geändert.
soetwas passiert gerne, wenn man vor dem <?php oder nach dem ?> ein einzelnes winzig kleines leerzeichen hat... dieses wird dann zum browser gesendet, und direkt davor die header...
@nettworker, da haben sich die postst grad überschnitten.
EDIT
hm....ich hol mir ma nochn kaffee.....hab die ganze zeit an der falschen logon rumgedoktort.....es war dann wohl doch das leerzeichen.....*kopfgegendiewand*
danke für eure hilfe!
---
herzlich glückwunsch übrigens zum mod status
langsam wirds mir ja unangenehm immer denselben thread wieder hoczuholen, aber nachdem ich meine seite komplett mit etags ausgestattet hab und auch das header modifizieren lokal wunderbar geklappt hat, stelle ich nun fest, dass es auf dem server nicht ganz so läuft wie gedacht. die HTML Statuscodes sind i.O. (also 200, oder 304) eTag wird in den headern auch mitgesendet. Allerdings vermisse ich die angabe des last modified. Die fehlt im header. Kann das sein, dass es eine Servereinstellung ist, die das untersagt?
Und zwar hätte ich da ne Frage zu dem ETag, ist der sinnvoll, also sollte man ihn setzen und wenn ja, was für Daten werden da eingesetzt? Ein Timestamp? Werde da nicht so richtig schlau draus...