Re: Re: Re: rewrite - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von sascha (539 Beiträge) am Dienstag, 11.September.2007, 14:55.
    Re: Re: Re: rewrite

      hallo sebastian,
      ich versuch mich erstmal an den einfachen dingen - mit problemen.

      in der htaccess habe ich:
      ----------------------------------
      RewriteEngine on
      Options FollowSymLinks
      RewriteRule ^/meldung_(.*).html$ /cgi-bin/baseportal.pl?htx=/meldung&Id==$1 [NC] [L]
      ----------------------------------

      www.domain1.de/meldung_$Id.html wird zu www.domain1.de/meldung_5.html
      das klappt auch.

      so müßte doch aus www.domain1.de/meldung_5.html der aufruf so werden:
      /cgi-bin/baseportal.pl?htx=/meldung&Id==5

      ich bekomme aber immer ein error404, daß diese seite nicht existiert!

      siehst du meinen fehler?
      gruß
      sascha


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Sebastian (0 Beiträge) am Dienstag, 4.September.2007, 18:05.
    rewrite

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 4.September.2007, 18:09.
    Re: rewrite

      ich denke, vorn ist eine [ zuviel und hinten fehlt eine 1

      RewriteRule ^([1-9][0-9]*).html$ /cgi-bin/baseportal.pl?htx=/unifit-daten.de/shop_de/detail_001&Rubrik==Einbaufertige-kats&Name==$1

     Antworten

    Beitrag von Sebastian (0 Beiträge) am Dienstag, 4.September.2007, 18:41.
    Re: Re: rewrite

      Danke,

      funktioniert.

     Antworten

    Beitrag von Reiner (306 Beiträge) am Donnerstag, 6.September.2007, 21:54.
    Re: rewrite

      Hallo Sebastian

      kannst Du mir verraten wie bzw wo ich den link umschreiben lassen muss?
      Geschieht das im Template selbst.
      Wenn ja wie muss dies aussehen?

      Kannst Du mir vielleicht auf die Sprünge helfen.

      Viele Grüße
      Reiner

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 6.September.2007, 23:09.
    Re: Re: rewrite

      in einem loop die daten ausgeben, dann kannst du dir den link basteln wie du willst.
      in der htaccess wird es dann zurück gebogen

     Antworten

    Beitrag von Sebastian (0 Beiträge) am Donnerstag, 6.September.2007, 23:48.
    Re: Re: rewrite

      hallo rüdiger,

      ist ganz einfach du erstellst in einem editor eine datei mit dem namen .htaccess und überträgst sie später per ftp in dein root verzeichniss (da wo deine domain eingestellt ist).

      Dort steht dann folgendes z.B.

      RewriteEngine on # muß sein
      Options FollowSymLinks # muß sein
      RewriteRule ^Katalysator_(.*).html$ /cgi-bin/baseportal.pl?htx=/unifit-daten.de/shop_de/detail&Name==$1 [NC] [L]

      in der letzten zeile passiert dann das eigentliche, die regel. ich kann jetzt ganz einfach als URL eingeben www.uni-fit.de/Katalysator_86314.html. dann wird auf dem server die URL nach Katalysator_ getrennt und die drauf folgenden Zeichen (hier 86314) als $S1 weitergegeben, dann wird die eigentliche domain mit $S1 aufgerufen und schon lande ich auf der shopseite mit dem passenden artikel. sonst müßte ich http://www.uni-fit.de/cgi-bin/baseportal.pl?htx=/unifit-daten.de/shop_de/detail&Name==86314 eingebn, was ja auch nicht so gut für die suchmaschinen ist und für den kunden immer etwas komisch aussieht.
      das [NC] bedeutet groß- und kleinschreigung egal, [L] wenn was gefunden wird, abbrechen und nicht weitersuchen. wenn ich nun leerzeichen in der artikelnummer (E 334 oder OX 104) habe, gebe ich einfach ein .../Katalysator_E+334.html, also anstatt ein leerzeichen ein plus (+)

      kann man beliebig ausbauen, z.B. RewriteRule ^Katalysator-PEUGEOT_(.*).html$ /cgi-bin/baseportal.pl?htx=/unifit-daten.de/shop_de/detail&Name==$1 [NC] [L]
      würde lauten .../Katalysator-PEUGEOT_86314.html

      oder eigene endungen definieren: RewriteRule ^(.*).uni-fit$ /cgi-bin/baseportal.pl?htx=/unifit-daten.de/shop_de/detail&Name==$1 [NC] [L]
      probiere mal http://uni-fit.de/86314.uni-fit

      man kann auch in der .htaccess perl oder php script laufen lassen, geht sehr viel und auch hilfreich, so das besucher automatisch auf verschiedene länder geleitet werden, oder eigene error seiten anzugeben.

      sehr hilfreich, http://www.modrewrite.de/

      und sonst einfach melden

      funktioniert bei miete und lizenz, bei kostenlso weiß ich nicht.

      sebastian

     Antworten

    Beitrag von sascha (539 Beiträge) am Montag, 10.September.2007, 10:50.
    Re: Re: Re: rewrite

      hallo sebastian,
      ist ja cool, was man da machen kann.
      das klappt aber nur, wenn ich feste links habe, oder?
      bei der blätterfunktion läßt sich das nicht einbauen, dass man

      z.b. als link www.domain2.de/artikel&Id.html
      und die weiterleitung dann auf das template linkt, z.b.
      http://www.domain1.de/cgi-bin/baseportal.pl?htx=/test&Rubi==$Rubi


      ......
      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      out "<a href=\"http://www.domain1.de/cgi-bin/baseportal.pl?htx=/test&Rubi==$Rubi&range=$oldrange,$_range_length\">zurück</a>" if $oldrange>=0;
      out "<a href=\"http://www.domain1.de/cgi-bin/baseportal.pl?htx=/test&Rubi==$Rubi&range=$newrange,$_range_length\">weiter</a>" if $newrange<$_amount_query;
      
      .....

      gruß
      sascha

     Antworten

    Beitrag von sebastian (533 Beiträge) am Montag, 10.September.2007, 13:25.
    Re: Re: Re: Re: rewrite

      hallo sascha,

      . . .das klappt aber nur, wenn ich feste links habe, oder? NEIN, das ist ja gerade der vorteil, das die links nicht fest sein müssen.



      für das blätter-script müsste das auch gehen, musst halt zwei $S1 / $S2 mit übergeben. schaue mal hier dazu: http://www.modrewrite.de/foren/search.php?search_keywords=zwei+werte


      RewriteRule ^weitere_artikel_(.*)_/?(.*)\.png$ /cgi-bin/baseportal.pl?htx=/test&Rubi==$Rubi&range=$1,$2 [NC] [L]

      etwa so, musste mal probieren, nicht getestet. hier werden die beiden ranges verarbeitet, ......weitere_artikel_(.*)_/?(.*) um dann hier weiter verwendet zu werden ....&range=$1,$2

      sebastian

     Antworten

    Beitrag von sascha (539 Beiträge) am Dienstag, 11.September.2007, 14:55.
    Re: Re: Re: rewrite

      hallo sebastian,
      ich versuch mich erstmal an den einfachen dingen - mit problemen.

      in der htaccess habe ich:
      ----------------------------------
      RewriteEngine on
      Options FollowSymLinks
      RewriteRule ^/meldung_(.*).html$ /cgi-bin/baseportal.pl?htx=/meldung&Id==$1 [NC] [L]
      ----------------------------------

      www.domain1.de/meldung_$Id.html wird zu www.domain1.de/meldung_5.html
      das klappt auch.

      so müßte doch aus www.domain1.de/meldung_5.html der aufruf so werden:
      /cgi-bin/baseportal.pl?htx=/meldung&Id==5

      ich bekomme aber immer ein error404, daß diese seite nicht existiert!

      siehst du meinen fehler?
      gruß
      sascha

     Antworten

    Beitrag von sebastian (533 Beiträge) am Dienstag, 11.September.2007, 15:42.
    Re: Re: Re: Re: rewrite

      hallo sascha,

      schaue mal hier: writeRule ^/meldung_(.*).html$ /cgi-bin/baseportal.pl?htx=DEINEDOMAIN.DE/meldung&Id==$1 [NC] [L]

      nach dem htx fehlt die Domain, oder ?

      sebastian

     Antworten

    Beitrag von sascha (539 Beiträge) am Dienstag, 11.September.2007, 19:11.
    Re: Re: Re: Re: Re: rewrite

      nee - nicht bei ner lizenz.

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 12.September.2007, 11:33.
    Re: Re: Re: Re: Re: Re: rewrite

      hallo,

      hab jetzt mit 2 unterschiedlichen angaben bei htaccess 2 unterschiedliche
      fehlermeldungen bekommen:

      mit stern bekomme ich ne 500-fehlerseite
      RewriteRule ^/meldung_(.*).html$ /cgi-bin/baseportal.pl?htx=/meldung&Id==$1 [NC] [L]

      mit 0-9 ne 404-fehlerseite
      RewriteRule ^/meldung_(0-9).html$ /cgi-bin/baseportal.pl?htx=/meldung&Id==$1 [NC] [L]

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Mittwoch, 12.September.2007, 12:58.
    Re: Re: Re: Re: Re: Re: Re: rewrite

      Mach dir doch mal nen rewrite log
      http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteLog
      oder "probiere" den regex erstmal trocken in einem perl script oder baseportal Template, weil der intepreter kann wesentlich besser deinen code debuggen als ein Forum.

      Zwei Sachen fallen mir auf
      ein Punkt muss im Suchmuster maskiert werden \.
      und (0-9) willst du sicher auch nicht, eher sowas ([0-9].*)

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 12.September.2007, 14:14.
    Re: Re: Re: Re: Re: Re: Re: Re: rewrite

      hab grad mal ins error.log geschaut und da steht:
      [Wed Sep 12 14:09:26 2007] [error] [client 000.000.00.00] File does not exist: /usr/virtualweb/domain.de/html/meldung_5.html

      :-(

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 12.September.2007, 14:31.
    Re: Re: Re: Re: Re: Re: Re: Re: Re: rewrite

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Mittwoch, 12.September.2007, 15:00.
    Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: rewrite

      Das dieses Muster nun passt ist purer zufall. Und obwohl ich weiss das es dich kein bischen interessiert warum, schreib ich es jetzt dennoch:

      Wenn du genau eine einstellige Zahl finden möchtest reicht ([1-9]) denn [0-9]* findet jetzt, in deinem Beispiel nichts (was es aber durch "*" auch darf im gegensatz zu "+"). Weil keine Zahlen mehr danach kommen ist es hier auch nicht schlimm das der Punkt nicht maskiert ist weil er ein beliebieges Zeichen repräsentiert. Und ein Zeichen nach dem genügsamen Stern ist zufällig der Punkt. Danach wird dann auch "html" gefunden, glück gehabt. ;)

       
      RewriteRule ^/meldung_(.+)\.html$ /cgi-bin/baseportal.pl?htx=/meldung&Id==$1

      hätte aber auch funktioniert.... und sogar text gefunden.

      Wenn der Punkt nicht maskiert ist rennt (.*). so lange duch den text bis es das letzte findet was auf . passt (gierig) und das ist nunmal alles. Also wurde vorher das "html" niemal gefunden und deine RewriteRule nicht angewendet.

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 12.September.2007, 16:39.
    Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: rewrite

      hallo pouraga,
      mit glück soll das nix zu tun haben, daher nehme ich deine erläuterung
      dankend auf und versuche das ganze auch zu verstehen.
      grüße & danke
      sascha

     Antworten

    Beitrag von Robert (128 Beiträge) am Mittwoch, 12.September.2007, 08:32.
    Re: Re: Re: Re: rewrite

      Bei mir habe ich in die httpd hineingeschrieben:

      RewriteEngine On
      RewriteRule ^/baseportal/meldung(.*)$ /cgi-bin/baseportal.pl?htx=$1 [QSA,PT]

      und das funtioniert seit mehreren Jahren.

      Vielleicht hilft Dir das.

     Antworten


     
 Liste der Einträge von 12450 bis 12600:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!