Problem mit mod rewrite
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
dank
einsatz
folgenden regeln
gleiche problem
http
index
jemand
kontakt
ordner
parameter
performance
rasche antwort
regel
reihenfolge
server
set
teilen
untere regel
url
-
Hi.
Ich möchte gern mit mod rewrite die urls meiner website ein bisschen "verschönern".
Also z.B:
index.php?site=Kontakt --> /Kontakt
index.php?site=Artitkel&kat=Webdesign --> /Artikel/Webdesign
Ich kenne mich mit mod rewrite nicht sonderlich gut aus, deswegen hab ich mir aus Foren , in denen Leute das gleiche Problem hatten wie ich, was von den Codes zusammenkopiert:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php?fam=$1 RewriteRule ^[\w+]+/(\w+) /index.php?fam=$1&kat=$2 [L]
Das funktioniert soweit, allerdings wenn dann die untere Regel mit 2 Parametern zum einsatz kommt, werden die Stylesheets nicht mehr geladen.
Kann mir jemand helfen oder hat jemand zufällig das selbe Problem erfolgreich gelöst und möchte seinen Code mit mir "teilen"
Wäre sehr dankbar!!
Liebe Grüße an alle, Joi
Beitrag zuletzt geändert: 20.8.2009 11:52:56 von joi002 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin!
Rewriterules sind nicht ganz trivial.
Versuch es mal mit diesem Set:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/_]+)/([^/_]+)$ /index.php?fam=$1&kat=$2 [L,NC] RewriteRule ^([^/_]+)$ /index.php?fam=$1 [L,NC]
Wichtig dabei ist auch die Reihenfolge und der jweilige Parameter L, der das rewriting bei beendet, wenn eine Regel gegriffen hat. Ansonsten würden auch die folgenden Regeln noch geprüft, was der Performance nicht zuträglich ist..
FF
Edith: Rules angepaßt um Files und Ordner auszuschließen.
Beitrag zuletzt geändert: 20.8.2009 12:37:19 von fatfreddy -
Danke für die rasche Antwort.
Versuch es mal mit diesem Set:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/_]+)/([^/_]+)$ /index.php?fam=$1&kat=$2 [L,NC]
RewriteRule ^([^/_]+)$ /index.php?fam=$1 [L,NC]
Das hat leider nicht funktioniert.
"Internal Server Error"
Oder kennt jemand ein >gutes< Tutorial für Mod Rewrite?
(Von den was ich gefunden hab bin ich nicht schlauer geworden)
Glg
Beitrag zuletzt geändert: 20.8.2009 12:50:33 von joi002 -
Nimm mal bitte testweise die beiden Zeilen mit RewriteCond raus. Was passiert dann?
Ausführliche Infos und ein gutes Supportforum zu ModRewrite findest du bei modrewrite.de.
FF -
Hab jetzt mal mit nem Tutorial versucht, das selbst hinzukriegen, und es kommt wieder aufs Gleiche raus.
Wenn dann mehr als eine Variable ins Spiel kommt funktionieren die Stylesheets nicht mehr!
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/_]+)/([^/_]+)$ /index.php?fam=$1&kat=$2 [L,NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/_]+)$ /index.php?fam=$1 [L,NC]]
Was muss man da machen? Ist da was falsch oben?
Glg
Edit: Hab die Stylesheetspfade absolut gesetzt, jetzt funktioniert es!!
Glg
Beitrag zuletzt geändert: 20.8.2009 14:02:43 von joi002 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage