Seite 1 von 3

Brauche Hilfe zum Thema Mod rewrite

Verfasst: 24.06.2009 14:20
von Trash-Master
Moin,

und zwar möchte ich eine solche URL

Code: Alles auswählen

/bild.php/139,dsc003099K52B.jpg
auf diese

Code: Alles auswählen

/bild/139/dsc003099K52B.jpg
umleiten.

es muss praktisch das .php weg, und das "," durch ein "/" ersetzt werden.

Kann mir da jemand weiterhelfen? Wie muss die .htaccess Datei aussehen?

lg

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 11:28
von gn#36
Ohne Garantie:

Code: Alles auswählen

RewriteRule bild.php/([0-9]+),([A-Za-z0-9]+)\.jpg$ bild/$1/$2.jpg
Es sei denn du meinst das andersrum (Im Browser soll die zweite Version verwendet werden):

Code: Alles auswählen

RewriteRule bild/([0-9]+)/([A-Za-z0-9]+)\.jpg$ bild.php/$1,$2.jpg
Das ganze geht dann von der Annahme aus, dass die 139 wirklich nur Zahlen sein können (ansonsten bei [0-9] eben was anderes rein), und dass der Text danach beliebige Buchstaben a-z oder Zahlen beinhalten kann, außerdem dass der Dateiname immer mit .jpg endet. Je genauer sowas eingeschränkt ist, desto besser lässt sich sowas auch zur Hackerabwehr benutzen, denn falsche Formate führen dann zu einem 404 Fehler (i.a. jedenfalls).

Kann man natürlich auch mit RewriteCond machen wenn man will.

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 20:50
von Trash-Master
Meine fertige htaccess sieht jetzt so aus:

Code: Alles auswählen

RewriteEngine On
RewriteRule bild.php/([0-9]+),([A-Za-z0-9]+)\.([A-Za-z]+)$ bild/$1/$2.$3
RewriteRule bild.php/2,([0-9]+),([A-Za-z0-9]+)\.([A-Za-z]+)$ thumb/$1/$2.$3
Sie funktioniert perfekt. Vielen Dank! :)

Noch eine Frage zum selben Thema:
Im Web findet man ja einige RewriteRules um von www.domain.com auf domain.com umzuleiten. (also www zu nicht-www)

Leider funktioniert keine einzige dieser Regeln bei mir.
Ich schildere kurz meine Situation. Ein Unterverzeichnis ist via .htaccess und .htpasswd mit einem Passwort geschützt.
Nun möchte ich aber, dass der Besucher vor der Überprüfung des Passworts auf die domain.com umgleitet wird, wenn er von www.domain.com kommt. Natürlich auch, wenn er direkt das Unterverzeichnis aufruft. Wenn er direkt auf domain.com geht soll er natürlich nicht weitergeleitet werden.

Kann da jemand helfen?

lg

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 21:23
von gn#36
Welche Regeln hast du denn da probiert?

Bei mir klappt z.B.

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^phpbb.de
RewriteRule .* http://www.phpbb.de/ [R=301,L]
für die andere Richtung, entsprechend solltest du mit

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^www.phpbb.de
RewriteRule .* http://phpbb.de/ [R=301,L]
das ganze eigentlich erledigen können.

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 21:43
von Trash-Master
Genau diese Regeln habe ich auch probiert, aber sobald der Verzeichnisschutz dazu kommt (also im Unterordner), geht da gar nichts. Woran kann das liegen?

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 22:22
von gn#36
Was heißt Verzeichnisschutz? Poste doch mal alles statt dir alles einzeln aus der Nase ziehen zu lassen.

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 22:50
von Trash-Master
OK, ich poste dann mal die einzelnden htaccess Dateien.

Die htaccess im Hauptverzeichnis (meinedomain.com) sieht bis jetzt so aus:

Code: Alles auswählen

ErrorDocument 400	/error.php?mode=400
ErrorDocument 401	/error.php?mode=401
ErrorDocument 403	/error.php?mode=403
ErrorDocument 404	/error.php?mode=404
ErrorDocument 500	/error.php?mode=500
Dann gibt es halt noch ne htaccess in dem Unterverzeichnis (meinedomain.com/phpbb3):

Code: Alles auswählen

AuthName "Bitte einloggen"
AuthType Basic
AuthUserFile "/home/users/*******/www/********/phpbb3/.htpasswd"
require valid-user

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

DirectoryIndex portal.php index.php index.html index.htm
Das ist auch das einzige Unterverzeichnis auf meinem Webspace. Dort funktioniert das mit der www auf nicht www Weiterleitung leider nicht.

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 23:12
von gn#36
Hm und

Code: Alles auswählen

ErrorDocument 400	/error.php?mode=400
ErrorDocument 401	/error.php?mode=401
ErrorDocument 403	/error.php?mode=403
ErrorDocument 404	/error.php?mode=404
ErrorDocument 500	/error.php?mode=500

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.phpbb.de
RewriteRule .* http://phpbb.de/ [R=301,L]
geht nicht?
Was ist, wenn du noch
Options +FollowSymLinks in die .htaccess einfügst?

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 23:40
von Trash-Master
Ich hab das jetzt genau so eingefügt, wie du es hier gepostet hast (inkl. Options +FollowSymLinks in der letzten Zeile). Leider wird jetzt ein Fehler 500 ausgegeben.

Re: Brauche Hilfe zum Thema Mod rewrite

Verfasst: 25.06.2009 23:50
von gn#36
Hm ich brauche für sowas immer das Server Log. Kommst du da dran um nachzusehen was genau da nicht klappt?