kostenloser Webspace werbefrei: lima-city


.htaccess RewriteEngine

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Hi
    ich möchte meine URL per htaccess schöner gestalten. nur leider klappt das nicht wirklich.
    Ich habe einen ordner mit einem weiteren Ordner drin und darin ist die Seite ink. .htaccess

    Meine .htaccess sieht so aus:
    RewriteEngine on
    RewriteRule ^ordner1/ordner2/([^/]+) ordner1/ordner2/index.php?page=$1 [NC]


    Was mache ich da falsch? Ich habe ein ähnliches Beispiel gefunden und das etwas verändert, aber mein Browser sagt, er kann das Verzeichniss nicht finden, also scheint die .htaccess datei nicht richtig ausgeführt zu werden.

    MFG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. d*****k

    Der Platzhalter in einem neuzuschreibenen URL-Teil wird durch ein Zirkumflex (^) eingeleitet und durch ein Dollarzeichen ($) beendet. Der folgende Code sollte bei dir funktionieren: :wink:

    RewriteEngine On
    RewriteRule ordner1/ordner2/^(.[^php])$ ordner1/ordner2/index.php?page=$1 [L]


    Dieses kleine süße Dateichen muss in das Verzeichnis, in dem sich der ordner1 befindet. Sollte sich dieser nicht direkt im Home-Verzeichnis befinden, musst du die eine Zeile zum Beispiel so verändern, die htaccess kommt trotzdem in den Ordner, in dem sich ordner1 befindet, hier also in nocheiner.
    RewriteRule ordner1/ordner2/^(.[^php])$ nocheiner/ordner1/ordner2/index.php?page=$1 [L]


    Es kann auch daran gelegen haben, dass du alles weitergeleitet hast. Auch die index.php, auf die weitergeleitet wird. Das habe ich hier mit dem [^php] mal ausgeschaltet... :thumb:

    Ich hoffe, das funktioniert. Ansonsten einfach zurückschreiben... :lol:

    Beitrag zuletzt geändert: 30.4.2011 19:30:06 von dermaik
  4. Vermutlich wird es nicht funktionieren, weil:

    programtools schrieb:
    Ich habe einen ordner mit einem weiteren Ordner drin und darin ist die Seite ink. .htaccess


    Die .htaccess liegt also, wenn ich es richtig verstanden habe in ordner2.
    Das vorgestellte Rewriting versucht jetzt, das Ziel im ordner ordner2/ordner1/ordner2 zu finden. Nicht verwunderlich, wenn das fehlschlägt.
    Entweder also die Ordner beim Ziel weglassen oder nicht relativ weiterleiten ein / vor ordner1 sollte helfen (zumindest, wenn ordner1 im root der Domain steht).

    FF
  5. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Vielen Dank, es lag daran, dass ich die .htaccess im falschen verzeichniss bzw den falschen pfad angegeben hatte.
    Allerdings habe ich nun das Vorkommen, dass zwar der text da ist, aber keine styles und Bilder angezeigt werden.
    Das kann ich mir nur leider nicht erklären.
    MFG
  6. programtools schrieb:
    Allerdings habe ich nun das Vorkommen, dass zwar der text da ist, aber keine styles und Bilder angezeigt werden.
    Das kann ich mir nur leider nicht erklären.

    Das Problem ist durchaus erklärlich, wenn Du nur die Pfade geändert hast.
    Dein Regelsatz ist halt so weit gefasst, dass er auch Dateien betrifft, die nicht umgeleitet werden sollten. :wink:

    FF

    Beitrag zuletzt geändert: 1.5.2011 15:03:30 von fatfreddy
  7. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Achso, aber wie verweise ich auf die Dateien? Weil das geschieht doch in der index.php.
    MFG
  8. d*****k

    programtools schrieb:
    Achso, aber wie verweise ich auf die Dateien? Weil das geschieht doch in der index.php.
    MFG


    Erweitere einfach meine Liste mit den Ausnahme-Dateitypen, die nicht umgeleitet werden:
    RewriteRule ordner1/ordner2/^(.[^php|^jpg|^gif|^png])$ ordner1/ordner2/index.php?page=$1 [L]


    Das ^ bedeutet nicht und danach kommt die Dateiendung.
  9. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    okay...
    und wenn ich die .htaccess nun in Ordner2 habe und ich möchte in der url ein weiteres verzeichniss (das nicht existiert) anhängen und danach den parameter . html

    also so:
    RewriteRule page3/(.[^php|^jpg|^gif|^png]).html$ index.php?page=page3&parameter=$1


    Aber jetzt fehlt wieder style & co.
    Ich verstehe das nicht ganz. Ist alles irgendwie deutlich komplizierter als man denkt.
    MFG
  10. programtools schrieb:
    okay...
    und wenn ich die .htaccess nun in Ordner2 habe und ich möchte in der url ein weiteres verzeichniss (das nicht existiert) anhängen und danach den parameter . html

    also so:
    RewriteRule page3/(.[^php|^jpg|^gif|^png]).html$ index.php?page=page3&parameter=$1


    Aber jetzt fehlt wieder style & co.
    Ich verstehe das nicht ganz. Ist alles irgendwie deutlich komplizierter als man denkt.
    MFG

    Wenn man mit mod_rewrite werkelt, sollte man absolute Pfade und keine relativen verwenden. Dann passiert sowas auch nicht ;)

    Beitrag zuletzt geändert: 4.5.2011 3:04:15 von fabo
  11. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    wo genau soll ich nun absolute Pfade verwenden?
    Das ist halt nur etwas doof, wenn ich es dann auf meinem localhost teste und hinterher alles ändern muss für den echten server.
    MFG
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!