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 16.08.2010, 14:25  
Erfahrener Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 145
nuna befindet sich auf einem aufstrebenden Ast
Standard Regex [a-zA-Z0-9+] führt zu 404

Mein Regex sieht so aus:
Code:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^artikel.php$                   index.php?seite=artikel [L]
RewriteRule ^kunden.php$                    index.php?seite=kunden [L]
RewriteRule ^artikel/([a-zA-Z0-9+]+)$       index.php?seite=artikel&finde=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L,QSA]
Wenn ich aber zum testen
PHP-Code:
echo '<a href="artikel/' urlencode('(/&$"JKDHW(W/E$&"§') . '>(/&$"JKDHW(W/E$&"§</a>'
eingebe, lande ich auf einer 404-Seite. Sollte aber wegen ^artikel/([a-zA-Z0-9+]+)$ nicht alles auf index.php umgeleitet werden?
nuna ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.08.2010, 14:29  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.721
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Wie kommst du darauf dass
Code:
'artikel/(/&$"JKDHW(W/E$&"§'
Code:
^artikel/([a-zA-Z0-9+]+)$
matchen sollte? Das stimmt doch hinten und vorne nicht überein
fab ist offline   Mit Zitat antworten
Alt 16.08.2010, 14:36  
Erfahrener Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 145
nuna befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Das stimmt doch hinten und vorne nicht überein
Darum ging es doch. Eben weil
Code:
'artikel/(/&$"JKDHW(W/E$&"§'
nicht die Bedingung in
Code:
^artikel/([a-zA-Z0-9+]+)$
erfüllt, sollte der Request doch nach index.php umgeleitet werden. Oder verstehe ich den Sinn von Regex in mod_rewrite nicht richtig?
nuna ist offline   Mit Zitat antworten
Alt 16.08.2010, 14:40  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.721
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Ah, jetzt verstehe ich erst was du versuchst. Der Fehler liegt dann hier:

Code:
RewriteRule . index.php [L,QSA]
. ist ein einzelnes Zeichen, was du brauchst ist .* für eine beliebige Zeichenfolge
fab ist offline   Mit Zitat antworten
Alt 16.08.2010, 14:42  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von nuna Beitrag anzeigen
Oder verstehe ich den Sinn von Regex in mod_rewrite nicht richtig?
Nein, du verstehst den Sinn von HTTP-Statuscodes nicht.

Wenn es zu einer Anfrage keinen Inhalt gibt, dann ist 404 (oder ggf. 410, falls es ihn mal gab) die passende Antwort.

Kommentarloses Umleiten auf die Startseite ist kolossaler Unfug.
Das mögen weder die menschlichen Nutzer, die keinerlei Hinweis darauf erhalten, warum sie nicht das gewünschte angezeigt bekommen, noch die Suchmaschinen (die daraus nur den Schluss ziehen können, „OK, die Seite wird von einem [...] betrieben, der mit HTTP nicht im geringsten umzugehen weiß.“)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 16.08.2010, 14:51  
Erfahrener Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 145
nuna befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Ah, jetzt verstehe ich erst was du versuchst. Der Fehler liegt dann hier:
Code:
RewriteRule . index.php [L,QSA]
. ist ein einzelnes Zeichen, was du brauchst ist .* für eine beliebige Zeichenfolge
Code:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L,QSA]
Das war es nicht Danke trotzdem fab.

Zitat:
Zitat von ChrisB Beitrag anzeigen
Kommentarloses Umleiten auf die Startseite ist kolossaler Unfug.
Mag sein. Ich würde gerne trotzdem wissen, warum es nicht klappt.
nuna ist offline   Mit Zitat antworten
Alt 16.08.2010, 20:07  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Das Slash hat eine besondere Bedeutung und macht mitten in der URI immer Probleme, ob URL-kodiert oder nicht. Ist zumindest meine Erfahrung.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 16.08.2010, 21:30  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Gibt verschiedene Dinge, die da mit reinspielen - bspw. AcceptPathInfo und AllowEncodedSlashes.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.08.2010, 14:17  
Erfahrener Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 145
nuna befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Das Slash hat eine besondere Bedeutung und macht mitten in der URI immer Probleme, ob URL-kodiert oder nicht. Ist zumindest meine Erfahrung.
Ich glaube mitlerweile auch, dass manche Fehler einfach nicht abzufangen sind.
nuna 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
[Erledigt] Kleine Regex Frage Bubelbub PHP-Fortgeschrittene 8 25.07.2010 23:39
[Erledigt] regex | variables wort herausfiltern Knechtle PHP Tipps 2010 6 05.03.2010 17:21
[Erledigt] Regex als Parserfunktion geeignet? skandler PHP Tipps 2010 9 04.02.2010 21:23
Formularvalidierung via REGEX JackD PHP Tipps 2009 1 10.01.2010 16:25
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Regex: Auslesen der Meta-Tags einer Webseite Sucheingrenzung pepe24 PHP Tipps 2008 12 31.05.2008 15:41
2 Regex in PHP kompatible Syntax übersetzen NoiZy PHP-Fortgeschrittene 6 07.04.2008 09:04
Regex Link Problem Broadcast PHP Tipps 2008 2 29.02.2008 16:30
[gelöst :D ] regex tuts nur einmal pro zeile notyyy PHP Tipps 2008 17 24.09.2007 15:40
RegEx für Mail-Adresse (Bitte prüfen!) vollkommenegal PHP Tipps 2006 13 20.11.2006 20:02
RegEx kürzen HStev PHP Tipps 2006 5 16.02.2006 15:44
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
RegEx findet Stringvorkommen nicht PHP Tipps 2007 6 08.12.2005 21:52
Allgemeine RegEx Frage PHP Tipps 2005-2 10 05.07.2005 13:43
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
regex a-za-z0-9, php \/^[a-za-z0-9-_.] @[a-za-z0-9-, [a-za-z], regex php a-za-z0-9, rewritecond [a-za-z0-9] sonderzeichen, regex a-za-z0-9 a-za-z0-9, regex=^[a-za-z0-9]*$, ^[a-za-z0-9._] @[a-za-z0-9._] \\.([a-za-z0-9]){2,6}, /[a-za-z0-9_-\\.] @[a-za-z0-9\\.] [a-za-z]{2,4}/, [a-za-z0-9_], php [a-za-z], php [^a-za-z$], a-za-z0-9_., ([ a-za-z0-9 =-]), ^[a-za-z0-9_!@$.\', ^([a-za-z0-9/? ] .html?)$ index.php?, \[^a-za-z0-9@ - \\/ ]\, rewrite regex umlaute, rewritecond [a-za-z0-9_-], [a-za-z0-9;/_\\\\.\\\\-=]*([?]{1}([a-za-z0-9_\\\\-:.]*=[a-za-z0-9/_\\\\-:.]*)?([&][a-za-z0-9_\\\\-:.]*=[a-za-z0-9/_\\\\-:.]*)*)?

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 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