php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Webmaster > SEO - Suchmaschinen Tricks und Tipps
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SEO - Suchmaschinen Tricks und Tipps Alles zum Thema "Techniken zur Suchmaschinenoptimierung von Webseiten". Bitte keine Werbelinks

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-01-2009, 23:59
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard Rewritemaps

Hi,

ich bastel gerade an Rewritemaps damit ich "schönere" urls bauen kann.
leider funktioniert alles nicht gerade so wie ich mir das vorstelle.

wenn ich die webseite folgendermaßen aufrufe erscheint beim erstenmal eine weiße seite. jedes echo in der users.php wird igoriert.

http://www.example.de/profile-UzumakiNaruto

vhost config
Code:
RewriteLock ***/rewritelock.txt
<VirtualHost *:80>
        ServerName ***
        DocumentRoot ***
        RewriteEngine On
        RewriteMap users "prg:/usr/bin/php ***/users.php"
        ErrorLog  /var/log/apache2/error.***.log
        LogLevel warn
        CustomLog /var/log/apache2/access.***.log combined
</VirtualHost>
.htaccess im documentroot
Code:
RewriteRule ^profile-(.*)$ profile.php?id=${users:$1} [NC,L]
users.php
PHP-Code:
#!/usr/bin/php
<?php
mysql_connect
($db_host,$db_user,$db_pass);
mysql_select_db($db_name);

$filename    =    "log.txt";
if (!
$handle fopen("$filename""a+")) {
   echo 
"Cannot open file ($filename)";
   exit;
}

while( 
$url trim(fgets(STDIN))) {
   
$sql sprintf("SELECT user_id FROM ".DB_PREFIX."users WHERE user_name = '%s'"mysql_real_escape_string($username));
   
$result mysql_query($sql);
   
$row mysql_fetch_array($result);
   
$id $row['user_id'];
   
$today date("j-n-Y, G:i:s");
   if (
fwrite($handle$today."|".$url."|rn") === FALSE) {
      echo 
"Cannot write to file (".$filename.")";
      exit;
   }
   if(
fwrite(STDOUT$id.".html\r\n") === FALSE) {
      
fwrite($handle"CANT WRITE $urln");
   }
}
fclose($handle);
exit;
?>
danke für eurer hilfe schonmal im voraus
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #2 (permalink)  
Alt 26-01-2009, 00:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Rewritemaps

Zitat:
[i]wenn ich die webseite folgendermaßen aufrufe erscheint beim erstenmal eine weiße seite.[/B]
Und die Logs sagen was dazu?
Zitat:
jedes echo in der users.php wird igoriert.
Na wo sollte die Ausgabe eines solchen echos denn auch landen ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 26-01-2009, 00:18
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

ErrorLog /var/log/apache2/error.***.log sagt
File does not exist: asdf, referer: http://www.example.de/news

und das echo soll mir irgendwie eine ausgabe bringen .. sei es auf der weißen seite oder in den log dateien

die rewritelock.txt datei ist leer und die $filename = "log.txt"; wurde noch nicht erstellt.

ein normales rewritemap mit txt funktioniert .. aber ads ist gerade vorteilhaft wenn ich das mit txt machen würde
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #4 (permalink)  
Alt 26-01-2009, 00:36
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von UzumakiNaruto
ErrorLog /var/log/apache2/error.***.log sagt
File does not exist: asdf, referer: http://www.example.de/news
Und, sollte "asdf" denn existieren?
Zitat:
und das echo soll mir irgendwie eine ausgabe bringen .. sei es auf der weißen seite oder in den log dateien
Na ja, ich fuerchte, das RewriteMap-Script wird in einer Umgebung ausgefuehrt, wo kein "Platz" fuer solche Debug-Ausgaben ist.
Es hat auf STDOUT entweder einen Substitionswert fuer den umzuschreiben URL-Part zu liefern, oder NULL.

Wenn du von da aus Debugausgaben haben willst - dann wuerde ich vielleicht eher error_log() nehmen, und in ein definiertes Logfile schreiben lassen.
Zitat:
die rewritelock.txt datei ist leer
Bin mir nicht sicher, ob da irgendwelche Ausgaben drin zu erwarten waeren - das wird doch, soweit ich erkennen kann, nur fuer's Locking benutzt.
Zitat:
und die $filename = "log.txt"; wurde noch nicht erstellt.
Und wenn du das Script erst mal nicht als RewriteMap aufrufen laesst - sondern normal ueber den PHP-Kommandozeileninterpreter ausfuehren laesst?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 26-01-2009, 00:56
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
Welcome back! :-)
Mit Zitat antworten
  #6 (permalink)  
Alt 26-01-2009, 01:03
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Und, sollte "asdf" denn existieren?
nein .. habe auch alle php dateien mit grep -R 'asdf' * durchsucht .. nichts gefunden

Zitat:
Und wenn du das Script erst mal nicht als RewriteMap aufrufen laesst - sondern normal ueber den PHP-Kommandozeileninterpreter ausfuehren laesst?
Could not open input file: das bekomme ich dann
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #7 (permalink)  
Alt 27-01-2009, 07:53
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von unset
OffTopic:
Welcome back! :-)
OffTopic:
danke


ich habe es hinbekommen aber leider nur einmal.
habe dann nochmal nachgelesen und apache führt das script auch nur einmal aus und muss dann in einer endlosschleife mitlaufen.

nur wenn ich das alles in eine endlosschleife packen will passiert gar nichts mehr

einmal lauffähig
PHP-Code:
set_time_limit(0); # forever program!
$users    fopen("php://stdin","r");
$username trim(fgets($users));
$result mysql_query(sprintf("SELECT user_id FROM ".DB_PREFIX."users WHERE user_name = '%s'"mysql_real_escape_string($username)));
$row mysql_fetch_assoc($result);
echo 
$row['user_id']; 
keinmal lauffähig
PHP-Code:
set_time_limit(0); # forever program!
while (1) {
   
$users    fopen("php://stdin","r");
   
$username trim(fgets($users));
   
$result mysql_query(sprintf("SELECT user_id FROM ".DB_PREFIX."users WHERE user_name = '%s'"mysql_real_escape_string($username)));
   
$row mysql_fetch_assoc($result);
   echo 
$row['user_id'];

der rewritelog sagt nicht mal "map ok" .. er bleibt genau eine zeile davor stehen und wartet .. und wartet .. und wartet

habt ihr noch ideen?

danke im voraus
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #8 (permalink)  
Alt 27-01-2009, 12:52
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Warum denn jetzt wieder eine einfache echo-Ausgabe? Ich bin mir nicht sicher, ob das mit einer Ausgabe auf STDOUT identisch ist.

Und dann steht in der mod_rewrite-Doku noch "A common mistake is to use buffered I/O on stdout."
Vielleicht muesste man die Ausgabe noch explizit flushen ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 27-01-2009, 16:33
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

http://de.php.net/manual/de/wrappers.php.php
Zitat:
php://output allows you to write to the output buffer mechanism in the same way as print() and echo().
hier die logs als zip .. habe unwichtige daten wie ip, zeit und pfad entfernt.

in der *_ok.log geht es gleich weiter .. auch wenn er sein ergebnis hat.
Code:
RewriteRule ^profile-(.*)$ profile.php?lookup=${users:$1} [NC,L]
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #10 (permalink)  
Alt 27-01-2009, 16:34
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

anhang:
Angehängte Dateien
Dateityp: zip rewritemap_log.zip (820 Bytes, 218x aufgerufen)
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #11 (permalink)  
Alt 27-01-2009, 16:53
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von UzumakiNaruto
php://output allows you to write to the output buffer mechanism in the same way as print() and echo().
Schoen - aber ich bezweifle, ob php://output und php://stdout das gleiche sind.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #12 (permalink)  
Alt 27-01-2009, 22:14
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von wahsaga
Schoen - aber ich bezweifle, ob php://output und php://stdout das gleiche sind.
huch .. verdammt .. zu schnell gelesen.

aber das echo klappt wenn ich nur EINE id ausgeben lasse.
die endlosschleife will dagegen gar nicht arbeiten.

habe es vorhin auch mit $stdout = fopen('php://stdout", "w"); frwite($stdout, $userid); probiert .. ohne ergebnis
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:19 Uhr.