php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2007, 12:09  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard RewriteRule simulieren

Hallo!

Ich bin auf der Suche nach einem Fehler auf einer Site habe ich mich entschlossen, alle per PHP erzeugten Links zu extrahieren. Nun sind die Links suchmaschinenfreundlich: faq,2,0,x,0.html und werden mit einem ModRewrite auf dem Server umgesetzt.

Code:
RewriteEngine On
RewriteRule ^(.*),(.*),(.*),(.*),(.*).html$ index.php?kurs=$1&main_menu=$2&sub_menu=$3&detail=$4&id=$5 [L]
Frage: wie kann ich per PHP das ModRewrite simulieren, damit ich das Ergebnis sehe?

vielen Dank für jeden Tipp
Bruno
dh1sbg ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.09.2007, 12:13  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wie meinst du das denn, mit PHP "zu extrahieren" / "simulieren"?

Den Dateinamen kannst du mit list() und explode() zerlegen und in Variablen abspeichern.
Mit preg_match() kannst du den Dateinamen auf deine ModRewrite-Rule hin testen.
Zergling-new ist offline   Mit Zitat antworten
Alt 23.09.2007, 12:26  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard

Danke Mr Zergling

zu 1: Ich öffne eine URL, und extrahiere damit alle URL's

PHP-Code:
    preg_match_all ("/a[\s]+[^>]*?href[\s]?=[\s\"\']+".
                    
"(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/",
                    
$var, &$matches);

    
$matches $matches[1];
    
$list = array();

    foreach(
$matches as $var)
    {
        print(
$var."
"
);
    } 
Dabei bekomme ich z.B. "faq,2,0,x,0.html" zurück. Nun will ich diese URL folgen.

Ich will nun den EXAKTEN Mod-Rewrite String "RewriteRule ^(.*),(.*),(.*),(.*),(.*).html$ index.php?kurs=$1&main_menu=$2&sub_menu=$3&detail= $4&id=$5 [L] " nutzen, um die URL zu SEHEN, die mein Server bekommt.

Hintergrund: Ich habe da im Log einige falsche Zugriffe, die ich mir nicht erklären kann. Ich will sicher sein, dass dieser Zugriff NICHT von meinem Code erzeugt wurden. Bei ein paar tausend Möglichkeiten eine interessante Aufgabe

Bruno
dh1sbg ist offline   Mit Zitat antworten
Alt 23.09.2007, 12:27  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
simulieren
Wäre ich viel zu faul dazu
Ich würde das gleich Online auf dem Server testen.

RewriteRule ^faq,([0-9]+),([0-9]+),(.*),([0-9]+)\.html$
  Mit Zitat antworten
Alt 23.09.2007, 12:39  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard

Danke für Eure Hilfe.

Die Lösung ist preg_replace. Dabei musste ich aber den Suchstring "^(.*),(.*),(.*),(.*),(.*).html$" mit dem Abschluss "^" versehen.

Danke nochmals

Vollständiger Code
PHP-Code:
    $var fread_url($start);
    
$suchmuster="^(.*),(.*),(.*),(.*),(.*).html$^(.*),(.*),(.*),(.*),(.*).html$ index.php?";
    
$ersetzung="index.php?kurs=$1&main_menu=$2&sub_menu=$3&detail=$4&id=$5";

    
preg_match_all ("/a[\s]+[^>]*?href[\s]?=[\s\"\']+".
                    
"(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/",
                    
$var, &$matches);

    
$matches $matches[1];
    
$list = array();

    foreach(
$matches as $var1)
    {
        print(
$var1."
"
);
        echo 
preg_replace($suchmuster$ersetzung$var1)."<hr>";

    } 
dh1sbg ist offline   Mit Zitat antworten
Alt 23.09.2007, 12:50  
CIX88
Gast
 
Beiträge: n/a
Standard

Naja: http://www.regex-tester.de/uc_113_de.html

EDIT:
Wobei noch ein Fehler bei dir drin ist.
nicht .html sondern \.html
  Mit Zitat antworten
Alt 23.09.2007, 12:53  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard

Nachtrag für CIX88: Spitze URL. Danke
dh1sbg ist offline   Mit Zitat antworten
Alt 23.09.2007, 14:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Achso, ich verstehe. Schau dir mal den $_SERVER-Array an, speziell $_SERVER["REQUEST_URI"] und Konsorten. Da steht die URI, die der Browser aufgerufen hat, drin.
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
RewriteRule Frage mokus Server, Hosting und Workstations 5 30.04.2007 15:12
[Erledigt] RewriteRule will nich so richtig PHP-Fortgeschrittene 8 20.10.2006 11:17
/kategorie auf / weiterleiten htaccess ypsie PHP Tipps 2006 9 13.10.2006 14:47
[Erledigt] RewriteRule klappt einfach nicht vollständig Server, Hosting und Workstations 3 03.12.2005 23:23
[Erledigt] Problem mit RewriteRule Server, Hosting und Workstations 5 27.08.2005 12:31
[Erledigt] Kartenstapel simulieren PHP-Fortgeschrittene 2 08.08.2005 16:55
programm um zugriffe zu simulieren Beitragsarchiv 5 15.06.2005 20:06
Frames mit PHP simulieren fxp PHP Tipps 2005-2 11 07.06.2005 17:55
RewriteRule Mutatos Datenbanken 1 10.04.2005 15:08
Error 500 bei .htaccess test022 PHP Tipps 2005 18 10.02.2005 17:11
[Erledigt] PHP-Code simulieren PHP-Fortgeschrittene 14 21.11.2004 04:31
[Erledigt] RewriteRule Problem Server, Hosting und Workstations 0 11.09.2004 21:34
RewriteRule im PHP Modul PHP Tipps 2004 1 11.09.2004 12:42
[Erledigt] RewriteRule??? Server, Hosting und Workstations 2 20.08.2004 10:21
[Erledigt] Mime-Type über RewriteRule setzen Server, Hosting und Workstations 1 17.06.2004 04:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
rewriterule testen, rewriterule tester, rewrite rule tester, rewrite rule testen, rewriterule examples, rewriterule simulator, apache rewriterule testen, rewriterules testen, apache rewriterule tester, rewrite rules testen, apache rewrite simulieren, apache rewrite testen, htaccess verzeichnis simulieren, rewriterules tester, rewriterule apache tester, apache rewrite tester, htaccess rewriterule tester, rewriterule online test, rewrite rules apache prüfen, htaccess rewriterules simulation

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.