ilch Forum » Allgemein » HTML, PHP, SQL,... » mod_rewrite problem

Geschlossen
  1. #1
    User Pic
    sinan Mitglied
    Registriert seit
    28.10.2007
    Beiträge
    85
    Beitragswertungen
    0 Beitragspunkte
    servus forum,

    ich habe ein kleines mod rewrite problem.
    
    RewriteEngine on
    RewriteRule ^[-_0-9a-zA-Z]{0,20}$ artikel.php?id=$0 [L]



    Wenn jemand auf meine webseite kommt (www.webseite.de) und dann hinter dem slash etwas angegeben wird (z.b. www.webseite.de/23), dann wird das hinter dem slash an (www.webseite.de/artikel.php?id=23) übergeben. Auch real existierende dateien, wie zb. (www.webseite.de/index.php) können ohne weiteres problemlos aufgerufen werden.

    Nun das Problem:
    wenn der user nun direkt (www.webseite.de) eingibt, dann kommt er nicht auf (www.webseite.de/index.php), sondern natürlich auch (www.webseite.de/artikel.php?id=).
    Wie kann ich das verhindern. ich möchte also bei (www.webseite.de/) ohne etwas hinter dem slash die weiterleitung vermeiden und auf /index.php verweisen...
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    kdl Mitglied
    Registriert seit
    21.08.2010
    Beiträge
    333
    Beitragswertungen
    62 Beitragspunkte
    Was ist, wenn du statt
    www.website.de/23
    www.website.de/artikel/23
    nimmst?
    Dann könntest du mit
    www.website.de
    auf deine index verweisen.

    Ist aber schon zu lange her, seit ich das letzte Mal mit RewriteRules gearbeitet habe. Mir fällt daher sonst nichts mehr ein, wie du das Problem lösen könntest.
    .
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    sinan Mitglied
    Registriert seit
    28.10.2007
    Beiträge
    85
    Beitragswertungen
    0 Beitragspunkte
    ne, so wollte ichs nicht machen, sonst hätte ich das auch so gemacht
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    mach einfach 1,20 statt 0,20 zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    sinan Mitglied
    Registriert seit
    28.10.2007
    Beiträge
    85
    Beitragswertungen
    0 Beitragspunkte
    naja, ist n bisl gepfuscht aber hauptsache es funktioniert, sag ich da immer im notfall zunge lachen
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja nicht wirklich gepfuscht, wenn etwas hinter / steht, wird es immer länger als 0 Zeichen sein und bei 0 Zeichen willst du ja nicht weiterleiten, passt also ganz genau zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    ich hab auch ein problem mit mod_rewrite

    irgendwie will das bei mir nicht funktionieren, und zwar siehts folgendermaßen aus:

    RewriteEngine On
    RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?x=$1&y=$2 [L]


    die links sehen folgendermaßen aus:
    -externer Link
    |- externer Link
    -externer Link
    -externer Link
    -externer Link

    mehr links hab ich nicht :-)
    aber irgendwie will der mod_rewrite nicht funktionieren.
    muss auch dazu sagen das ich davon keinen plan hab, und den code per generator erstellt hab.
    hab auch schon diverse andere versucht, aber alles ohne erfolg...
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Was hast du denn genau vor, dein Mod rewrite leitet z.B.

    www.seppedia.com/profile/next.html auf www.seppedia.com/index.php?x=profile&y=next weiter, alles andere wird nicht gemacht.

    Weil du nur eine Regel für genau 2 Parameter hast, die Links im Script musst du selbst umschreiben, Mod rewrite leitet nur weiter.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    Achso, das heißt ich muss Noch ne zweite Regel dazu machen für
    externer Link

    Also ohne &y=Next ??

    Und dann alle Links umschreiben auf

    externer Link

    Hab ich das soweit richtig verstanden?
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Genau, du kannst allerdings auch in php am einfachsten mit einem Ausgabepuffer die Links mit preg_replace umschreiben, bei ilch findest du ja ein Bsp wie es aussehen könnte, ggf. nochmal nachfragen wenn du damit nicht weiter kommst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    ich hab genau 5 links auf der seite, das kann ich auch von hand ändern ;-)
    allerdings läd die seite nicht mehr wenn ich ne .htaccess hochlade. irgendwas mach ich da immer falsch. ich probier mal weiter und melde mich falls ich nicht schaffe.
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten