• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.htaccess - Andere Ordnerstrukturen

Hesoyam

Neues Mitglied
Hallo,

ich habe eine Frage zur htaccess-Datei.

Und zwar gibt es ja URLs bei Blogs die ungefähr so aussehen:
blablabla.de/2009/09/16

ein Kumpel sagte mir, dass solche URLs durch htaccess entstehen.
also eig würde die URL dann so aussehen
balbalba.de?jahr=2009&monat=09&tag=16

Derzeit sehen meine URLS auch so aus (also mit ?bla=blabla)
aber ich hätte auch gerne diese URLs wie oben (bla/blabla/blablabla)

Kennt sich jmd. hier besser mit htaccess aus und könnte es mir vlt erklären?
Oder, wenn es kein htaccess ist, kann mir dann vlt jemand erklären wie es sonst geht?

Grüsse
Daniel
 
Werbung:
Werbung:
Ich fand es am Anfang ziemlich schwer, die mod_rewrite-Sachen zum laufen zu bekommen.. Für das erwähnte Beispiel bräuchtest du zum Beispiel eine .htaccess-Datei mit folgendem Inhalt:
Code:
RewriteEngine on

RewriteRule ^(\d{4})/(\d{2})/(\d{2})$ index.php?year=$1&month=$2&day=3
In den Einstellungen für mod_rewrite werden Regular Expressions (kurz RegEx) benutzt, die musst du, wenn du dich damit noch nicht auskennst, auch erstmal lernen. Dafür empfehle ich Regenechsen.
 
Ich hatte ein ähnliches Problem.

Hab leider nicht das gewünschte Ergebnis hinbekommen, deshlab folgender Trick:
Code:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^index\.php(.*)$ ?navigation=%{REQUEST_URI}
Hiermit werden alle nicht existierenden Dateien auf die index.php umgeleitet. Dort kannst du dann die naviagtions variable zerpflücken und so hinbiegen wie du es brauchst.

Keine optimale Lösung aber eine Lösung ;)

Gruß KY
 
Etwa das Zend Framework macht es fast genau so.

Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Ich halte das für eine ziemliche gute Lösung, da es das umständliche Erstellen und Testen von mod_rewrite-Regeln überflüssig macht.

Auf PHP-Ebene kann dann einfach $_SERVER['REQUEST_URI'] mit "Bordmitteln" ausgewertet und entsprechender Inhalt generiert werden.
 
Werbung:
Zurück
Oben