KD-one: Teil eines Strings nach dem letzten Slash extrahieren

0 42

Teil eines Strings nach dem letzten Slash extrahieren

KD-one
  • php
  1. 0
    Tom
    1. 0
      KD-one
      1. 0
        Tom
        1. 0
          KD-one
          1. 0
            Tom
            1. 0
              KD-one
  2. 0
    Dachdeckermeister
    1. 0
      KD-one
      1. 0
        Tom
        1. 0
          KD-one
          1. 0
            Tom
            1. 0
              KD-one
  3. 0

    keinen HTTP-status 404 ausgeben - sondern 302!

    wahsaga
    1. 0

      Korrektur: besser 301 statt 302

      wahsaga
      1. 0
        KD-one
  4. 0

    Neues URL-Schema - PHP oder Apache-Bordmittel zwecks 301/302?

    Thomas Luethi
    • webserver
    1. 0
      KD-one
      1. 0
        Sven Rautenberg
        1. 0
          KD-one
          1. 0

            Korrektur

            KD-one
      2. 0
        Thomas Luethi
        1. 0
          KD-one
          1. 0
            Thomas Luethi
            1. 0
              KD-one
  5. 0

    Shit, Google hat Testseiten im Index...

    KD-one
    1. 0
      Sven Rautenberg
      1. 0
        KD-one
        1. 0
          Christian Seiler
          1. 0
            KD-one
            1. 0
              Christian Seiler
              1. 0
                KD-one
                1. 0
                  Christian Seiler
                  1. 0
                    KD-one
                    1. 0
                      Christian Seiler
                      1. 0
                        KD-one
                  2. 0

                    geht definitiv nicht,

                    KD-one
  6. 0

    Warum klappt RedirectPermanent nicht?

    KD-one
    • webserver
    1. 0
      Christian Seiler
      1. 0
        KD-one
        1. 0
          wahsaga
          1. 0
            KD-one

Hallo alle,

Nach der Umgestaltung meiner Seite sind natürlich alle Suchergebnisse bei Google mit Seiten verlinkt, die ins Nirvana führen.
Da die Site aber ein exzellentes Ranking aufweist[1], möchte ich nun eine Fehlerseite(404) erstellen, auf der der relative Link[2] extrahiert wird und, je nach Link, auf die richtige Seite weitergeleitet wird.

[1] Bei einem Suchbegriff von z.B. "2 Frames ändern" kommt meine Seite als Nr. 1 von 28100, noch vor SelfHTML... :o)
[2] aus "http://faq.united-web.at/javascript/2_frames_mit_einem_link_aendern.php" soll "2_frames_mit_einem_link_aendern.php" werden, womit dann weitergeleitet wird auf "index.php?content=2frames"

Nachdem ich Newbie in Sachen PHP bin, wäre es mir eine große Hilfe, wenn ihr mir den Weg aufzeichnen könntet, den ich hierbei einschlagen könnte und sollte.

Gruß

Kurt

--
"Die meisten Menschen verdunsten einem, wie ein Wassertropfen in der flachen Hand."  (Christian Morgenstern; dt. Dichter; 1871-1914)
http://elektro-dunzinger.at
http://shop.elektro-dunzinger.at
  1. Hello KD,

    ich würde mal versuchen, ob basename() nicht schon das gewünschte Ergebnis liefert. http://de3.php.net/manual/de/function.basename.php

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hallo Tom,

      ich würde mal versuchen, ob basename() nicht schon das gewünschte Ergebnis liefert. http://de3.php.net/manual/de/function.basename.php

      Ja, schaut einfach aus.
      Wenn ich mir das Beispiel anschaue,
      $path = "/home/httpd/html/index.php";
      $file = basename($path);        // $file enthält den Wert "index.php"
      müsste dieser Teil so klappen.
      Nun wirds aber eng.
      Da $path bei mir nicht festgelegt werden kann, sollte ich nun schon wissen, wie ich den aus der Anforderung auslesen kann.
      Ich dachte mir sowas in der Art(php 4.0.6):
      $path="$HTTP_POST_VARS"
      Da fehlt eindeutig Grundwissen. ;-)

      Gruß

      Kurt

      --
      "Die Welt hat genug fuer jedermanns Beduerfnisse, aber nicht genug fuer jedermanns Gier."  (Mahatma Gandhi; ind. Politiker; 1869-1948)
      http://elektro-dunzinger.at
      http://shop.elektro-dunzinger.at
      1. Hello,

        ein bisschen stöbern und lesen musst Du schon selber:
        http://de3.php.net/manual/de/function.pathinfo.php

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. Hallo Tom,

          ein bisschen stöbern und lesen musst Du schon selber:
          http://de3.php.net/manual/de/function.pathinfo.php

          Naja, gestöbert habe ich ja, aber als mein Firebird nach der 50.sten Seite abgestürzt ist, hab ich dann aufgegeben, vor allem deswegen, weil ich auch nicht wirklich wusste, wonach ich suchen sollte. Auf den Suchbegriff "pathinfo" wäre ich in meinem Leben nicht gekommen, wenn auch er im Nachhinein logisch erscheint. :o)
          Danke für den Link!

          Tom

          Gruß

          Kurt

          --
          "Wer nicht gerne denkt, sollte wenigstens von Zeit zu Zeit seine Vorurteile neu gruppieren."  (Luther Burbank; am. Biologe; 1849-1926)
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at
          1. Hello,

            Naja, gestöbert habe ich ja,

            Durch die Links kommt man jeweils auf eine Seite, bei der am linken Rand die Schwesterthemen aufgelistet sind. das ist bei http://php.net wirklich gut gemacht, anders als bei mysql.

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            1. Hallo Tom,

              Durch die Links kommt man jeweils auf eine Seite, bei der am linken Rand die Schwesterthemen aufgelistet sind. das ist bei http://php.net wirklich gut gemacht, anders als bei mysql.

              Stimmt, ich habe da sogar was von pathinfo gelesen, aber es nicht mit meinem Problem in Zusammenhang gebracht... :o)
              Aber das hat sich ja nun durch die Information über die .htaccess ja erübrigt, trotzdem Danke, man weiss ja nie, wozu man das alles noch brauchen kann.

              Gruß

              Kurt

              --
              "Nur der Irrtum ist das Leben, und das Wissen ist der Tod."  (Johann Christoph Friedrich Schiller; dt. Dichter u. Schriftsteller; 1759-1805)
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at
  2. $str =~ s/(^.*?[(\w|\d|/|:)]+.*?/)//gi; # stutzt URLs und URIs auf den Filenamen

    mfG Markus

    1. Hallo Markus,

      $str =~ s/(^.*?[(\w|\d|/|:)]+.*?/)//gi; # stutzt URLs und URIs auf den Filenamen

      Mei allergrößtes Problem ist ja, daß mein Provider aus unerfindlichen Gründen die PHP-Fehlermeldungen abgeschaltet hat. Ich erhalte also niemals eine Fehlermeldung und kann somit nicht testen, ob meine Ansätze relevant sind.
      Ich hatte mir mal von Vogelsang.de den Apache-Server runtergeladen, aber mein Windoof verhindert, daß er funktioniert. Bei jedem Startversuch schliesst sich das Dos-Fenster sofort wieder. :-(
      Trotzdem möchte ich gerne verstehen, was da so abläuft.
      Grundsätzlich, denke ich mal, müsste Toms Ansatz schon funktionieren, allerdings fehlt mir da doch noch ein wenig das Wissen, wie ich die URL dr angeforderten Seite auslesen und weiterverarbeiten kann.
      Naja, blutiger Anfänger halt. :-)
      Die Weiterleitung liesse sich dann ja nach meinem Dafürhalten mit einem einfachen Vergleich realisieren, wenn denn der erste Punkt(URL einlesen) mal geklärt ist..

      Gruß

      Kurt

      --
      "Die Vernunft spricht leise, deshalb wird sie so oft nicht gehoert."  (Nehru; ind. Politiker; 1889-1964)
      http://elektro-dunzinger.at
      http://shop.elektro-dunzinger.at
      1. Hello,

        Mei allergrößtes Problem ist ja, daß mein Provider aus unerfindlichen Gründen die PHP-Fehlermeldungen abgeschaltet hat.

        Error_Reporting(E_ALL); # am Anfang des zu testenden Scriptes...

        http://de3.php.net/manual/de/function.error-reporting.php

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. Hallo Tom,

          Mei allergrößtes Problem ist ja, daß mein Provider aus unerfindlichen Gründen die PHP-Fehlermeldungen abgeschaltet hat.

          Error_Reporting(E_ALL); # am Anfang des zu testenden Scriptes...

          http://de3.php.net/manual/de/function.error-reporting.php

          WOW; du entwickelst dich ja zu meinem Mentor!  :o)
          Danke dir!

          Gruß

          Kurt

          --
          "Nur der Irrtum ist das Leben, und das Wissen ist der Tod."  (Johann Christoph Friedrich Schiller; dt. Dichter u. Schriftsteller; 1759-1805)
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at
          1. Hello,

            WOW; du entwickelst dich ja zu meinem Mentor!  :o)
            Danke dir!

            Wenn es denn hilft *grins*

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            1. Hallo Tom,

              Wenn es denn hilft *grins*

              Jaja, ab und an lass ich mich ganz gerne an die Hand nehmen... ;-)

              Gruß

              Kurt

              --
              "Verantwortlich ist man nicht nur fuer das, was man tut, sondern auch fuer das, was man nicht tut."  (Laotse; chin. Philosoph; 4.-3. Jh. v. Chr.)
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at
  3. hi,

    Nach der Umgestaltung meiner Seite sind natürlich alle Suchergebnisse bei Google mit Seiten verlinkt, die ins Nirvana führen.
    Da die Site aber ein exzellentes Ranking aufweist[1], möchte ich nun eine Fehlerseite(404) erstellen, auf der der relative Link[2] extrahiert wird und, je nach Link, auf die richtige Seite weitergeleitet wird.

    das mit der 404er-seite, auf der dann ein link zu finden ist, hilft zwar deinen besuchern - wird dein google-ranking aber auf dauer vermindern, wenn du wirklich den http-statuscode 404 ausgibst. das heisst nämlich für google, die seite gibt's nicht mehr, also nix wie raus damit aus dem index.

    tu' dir selbst also einen gefallen, und verwende _keinen_ 404-statuscode, sondern leite auf die neue seite weiter, udn gib dazu den statuscode 302 (moved permanently) aus - das versteht auch der google-bot, der dann weiss, dass er nicht einfach eine fehlende seite zu löschen hat, sondern das die inhalte nur woanders hin "gewandert" sind.

    die weiterleitung machst du per header(), mit Location:-angabe, siehe beispiel unter http://www.php.net/manual/de/function.header.php.

    den 302-statuscode erzeugt php löst php dabei idR. automatisch aus.

    gruss,
    wahsaga

    1. hi,

      tu' dir selbst also einen gefallen, und verwende _keinen_ 404-statuscode, sondern leite auf die neue seite weiter, udn gib dazu den statuscode 302 (moved permanently) aus

      irrtum meinerseits, 301 ist moved permanently, wie Thomas ja auch in [pref:t=67103&m=383704] schon anmerkte.

      302 found ist also nur für _temporär_ woanders aufzufindende resourcen gedacht, während 301 moved permanently in deinem falle sicher zutreffender wäre.

      gruss,
      wahsaga

      1. Hallo wahsaga,

        tu' dir selbst also einen gefallen, und verwende _keinen_ 404-statuscode, sondern leite auf die neue seite weiter, udn gib dazu den statuscode 302 (moved permanently) aus

        irrtum meinerseits, 301 ist moved permanently, wie Thomas ja auch in [pref:t=67103&m=383704] schon anmerkte.

        302 found ist also nur für _temporär_ woanders aufzufindende resourcen gedacht, während 301 moved permanently in deinem falle sicher zutreffender wäre.

        Danke für den Tip.
        Wenn Thomas so nett ist und mir Links zu Erklärungen für den Apache postet, werde ich das besser über die .htaccess erledigen, zumal mir PHP in diesem Fall doch gewaltige Probleme bereitet. Augenscheinlich bin ich (noch) nicht richtig in der Lage, die Erklärungen in allen Konsequenzen zu erfassen und umzusetzen.

        Gruß

        Kurt

        --
        "Wenn du kritisiert wirst, dann musst du irgend etwas richtig machen. Denn man greift nur denjenigen an, der den Ball hat."  (Bruce Lee; chin. Kampfsportler u. Philosoph; 1940-1973)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
  4. Hallo,

    Um die Frage in Deinem Subject zu beantworten:

    Teil eines Strings nach dem letzten Slash extrahieren

    Genau das tut: strrchr()
    http://www.php.net/manual/de/function.strrchr.php
    (OK, der Slash selbst ist auch noch drin, Du brauchst
    dann also noch substr()...)

    Nun, was Du offenbar vorhast, ist, Dein etabliertes URL-Schema
    auf den Kopf zu stellen. Dafuer hast Du irgend ein Gebastel
    mit PHP und einer 404-Seite vorgesehen.

    [2] aus "http://faq.united-web.at/javascript/2_frames_mit_einem_link_aendern.php" soll "2_frames_mit_einem_link_aendern.php" werden, womit dann weitergeleitet wird auf "index.php?content=2frames"

    Warum machst Du das nicht alles mit Apache-Mitteln?
    Stichworte: .htaccess, mod_rewrite, mod_alias, Redirects

    Wie schon wahsaga schrieb, solltest Du (falls Du die nach
    aussen sichtbaren URLs ueberhaupt aendern willst, obwohl
    das extrem uncool ist) nicht einen 404, sondern einen 300er
    Status Code ausgeben, IMHO am besten
    301 (Moved Permanently).

    Wenn Du es mit dem Apache richtig machst, sparst Du
    IMHO viel Arbeit gegenueber einem PHP-Gebastel.

    Gruesse,

    Thomas

    1. Hallo Thomas,

      [2] aus "http://faq.united-web.at/javascript/2_frames_mit_einem_link_aendern.php" soll "2_frames_mit_einem_link_aendern.php" werden, womit dann weitergeleitet wird auf "index.php?content=2frames"

      Warum machst Du das nicht alles mit Apache-Mitteln?
      Stichworte: .htaccess, mod_rewrite, mod_alias, Redirects

      Uii, Mod_rewrite, mod_alias, Redirects, alles Begriffe, von denen ich schon mal gehört habe... :o)
      Naja, meine Kenntnisse zu .htaccess reichen grad mal für einfache Dinge wie Fehlerseiten, dirlisting usw.
      Ich hab, offen gesagt, keinen Dunst, wie das mit mod_rewrite, mod_alias und redirects laufen soll/könnte.

      Wie schon wahsaga schrieb, solltest Du (falls Du die nach
      aussen sichtbaren URLs ueberhaupt aendern willst, obwohl
      das extrem uncool ist)

      Wieso ist das uncool? Ich denke, daß es ehrlicher ist, als wenn ich die tatsächliche URL verbergen würde, mal ganz abgesehen von den Bookmarkmöglichkeiten.

      nicht einen 404, sondern einen 300er
      Status Code ausgeben, IMHO am besten
      301 (Moved Permanently).

      Ja, das scheint mir anhand der ganzen Argumentation tatsächlich der bessere Weg zu sein.

      Wenn Du es mit dem Apache richtig machst, sparst Du
      IMHO viel Arbeit gegenueber einem PHP-Gebastel.

      Wenn du so nett wärst, mir dazu eine Anleitung zu geben, respektive auch aussagekräftige Links in deutsch, könnte ich mir das schon so vorstellen.
      Auch in PHP wäre es für mich um nichts einfacher, verstehe ich davon doch auch nicht mehr als von Apache und .htaccess.
      Ich sitze nun schon seit Stunden an den Seiten von php.net und studiere rum. Kaum denke ich, daß ich einen gangbaren Weg gefunden habe, tut sich die nächste Hürde auf....
      Gruß

      Kurt

      --
      "Durch die Leidenschaften lebt der Mensch, durch die Vernunft existiert er bloss."  (Nicolas Sbastien Chamfort;fr. Schriftsteller; 1741 - 1794)
      http://elektro-dunzinger.at
      http://shop.elektro-dunzinger.at
      1. Moin!

        Uii, Mod_rewrite, mod_alias, Redirects, alles Begriffe, von denen ich schon mal gehört habe... :o)
        Naja, meine Kenntnisse zu .htaccess reichen grad mal für einfache Dinge wie Fehlerseiten, dirlisting usw.
        Ich hab, offen gesagt, keinen Dunst, wie das mit mod_rewrite, mod_alias und redirects laufen soll/könnte.

        Du machst eine lange Liste:

        RedirectPermanent /alte/url/auf/dem/server.html http://dein.server/neue/url

        Oder du nimmst RedirectMatch und sorgst für einen Statuscode 301.

        Steht alles in http://httpd.apache.org/docs/mod/mod_alias.html.

        Mit Rewriting würdest du die Chance haben...

        Wie schon wahsaga schrieb, solltest Du (falls Du die nach
        aussen sichtbaren URLs ueberhaupt aendern willst, obwohl
        das extrem uncool ist)

        Wieso ist das uncool?

        ...angesichts des immer wahren Spruches "cool URLs don't change" deine geänderte Struktur hinter der alten Struktur zu verbergen.

        Sicher, die Mühe macht man sich bei Relaunches nicht wirklich. Aber man sollte es tun. Die Technik, welche zum Einsatz kommt, um eine angeforderte URL inhaltsmäßig auszuliefern, ist irrelevant. URLs sind primär nicht zur Darstellung der Technik da, sondern zur Strukturierung des Informationsraumes.

        Ich denke, daß es ehrlicher ist, als wenn ich die tatsächliche URL verbergen würde, mal ganz abgesehen von den Bookmarkmöglichkeiten.

        Es gibt zwei Arten von "verbergen". Sinnlose (wie Framesets) und sinnvolle (wie eben der Erhalt einer bekannten Struktur, aber mit neuen Erzeugungsmechanismen im Hintergrund).

        - Sven Rautenberg

        --
        Die SelfHTML-Developer sagen Dankeschön für aktuell 20065,57 Euro Spendengelder!
        1. Hallo Sven Rautenberg,

          Uii, Mod_rewrite, mod_alias, Redirects, alles Begriffe, von denen ich schon mal gehört habe... :o)
          Naja, meine Kenntnisse zu .htaccess reichen grad mal für einfache Dinge wie Fehlerseiten, dirlisting usw.
          Ich hab, offen gesagt, keinen Dunst, wie das mit mod_rewrite, mod_alias und redirects laufen soll/könnte.

          Du machst eine lange Liste:

          RedirectPermanent /alte/url/auf/dem/server.html http://dein.server/neue/url

          So gesehen müsste meine .htaccess dann so aussehen:

          RedirectPermanent /javascript/2_frames_mit_einem_link_aendern.php http://faq.united-web.at/index.php?2frames
          usw... ?

          Oder du nimmst RedirectMatch und sorgst für einen Statuscode 301.

          Steht alles in http://httpd.apache.org/docs/mod/mod_alias.html.

          Wenn ich das richtig übersetzt habe, wird aber bei RedirectPermanent automatisch der Statuscode 301 gesendet, oder?

          Mit Rewriting würdest du die Chance haben...

          Wie schon wahsaga schrieb, solltest Du (falls Du die nach
          aussen sichtbaren URLs ueberhaupt aendern willst, obwohl
          das extrem uncool ist)

          Wieso ist das uncool?

          ...angesichts des immer wahren Spruches "cool URLs don't change" deine geänderte Struktur hinter der alten Struktur zu verbergen.

          Versteh ich nicht. Wenn du auf bestehende Bookamrks anspielst, die werden doch auch von RedirectPermanent umgeleitet, oder?

          Sicher, die Mühe macht man sich bei Relaunches nicht wirklich. Aber man sollte es tun. Die Technik, welche zum Einsatz kommt, um eine angeforderte URL inhaltsmäßig auszuliefern, ist irrelevant. URLs sind primär nicht zur Darstellung der Technik da, sondern zur Strukturierung des Informationsraumes.

          Nun kann ich dir nicht mehr folgen, was ändert das an der Tatsache, daß sich die URL geändert hat?

          Ich denke, daß es ehrlicher ist, als wenn ich die tatsächliche URL verbergen würde, mal ganz abgesehen von den Bookmarkmöglichkeiten.

          Es gibt zwei Arten von "verbergen". Sinnlose (wie Framesets) und sinnvolle (wie eben der Erhalt einer bekannten Struktur, aber mit neuen Erzeugungsmechanismen im Hintergrund).

          Entschuldige, aber da steh ich nun völlig daneben. Die Änderung der Struktur wird ja sowieso nach ein paar Monaten auch bei den Suchmaschinen vollzogen sein, oder wie???

          Gruß

          Kurt

          --
          "Die Ehe ist der Versuch, zu zweit mit den Problemen fertig zu werden, die man alleine nie gehabt haette."  (Woody Allen; am. Schauspieler u. Regisseur; geb. 1935)
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at
          1. Hallo Sven,

            So gesehen müsste meine .htaccess dann natürlich so aussehen:

            RedirectPermanent /javascript/2_frames_mit_einem_link_aendern.php http://faq.united-web.at/index.php?content=2frames
            usw... ?

            Gruß

            Kurt

            --
            "Wenn du einen Menschen gluecklich machen willst, dann fuege nichts seinen Reichtuemern hinzu, sondern nimm ihm einige von seinen Wuenschen."  (Epikur von Samos; gr. Philosoph; 341-271 v.Chr.)
            http://elektro-dunzinger.at
            http://shop.elektro-dunzinger.at
      2. Hallo Kurt,

        Wieso ist das uncool?

        Weil Tim Berners-Lee schon 1998 sagte:
        "Cool URIs don't change"
        http://www.w3.org/Provider/Style/URI.html
        T. B.-L. gilt immerhin als "Erfinder" des WWW
        und ist heute Praesident des W3C...

        Auch Jakob Nielsen erwaehnte 1999 in seinen
        "Top Ten New Mistakes of Web Design"
        http://www.useit.com/alertbox/990530.html
        als Nr. 6 "Moving Pages to New URLs"
        (den "Umzug von Seiten"), wobei er dort
        die Moeglichkeit der 301-Umleitungen
        nicht erwaehnt.

        Ich denke, daß es ehrlicher ist, als wenn ich die tatsächliche URL verbergen würde, mal ganz abgesehen von den Bookmarkmöglichkeiten.

        Das hat nichts mit "unehrlich" zu tun.
        Der Benutzer muss nichts davon mitkriegen,
        welche Technologien Du verwendest.

        Was Du nach aussern fuer URLs hast
        (moeglichst kurz, sprechend und "abhackbar")
        muss ueberhaupt nichts mit dem zu tun haben,
        was Du intern tust.

        Siehe auch Jakob Nielsens Artikel "URL as GUI":
        http://www.useit.com/alertbox/990321.html
        und auch Punkt 9 in seinen "Top Ten Mistakes 2002":
        http://www.useit.com/alertbox/20021223.html

        Und zum Thema Bookmarks sowie eingehende Links
        von fremden Seiten und insbesondere Suchmaschinen:
        Es ist klueger, bei den bisherigen URLs weiterhin den
        Content auszuliefern, als umzuleiten.

        Das neue, intern verwendete "URL-Schema" mit dem
        PHP-Skript und den "Fragezeichen-URLs" sollte
        IMHO nach aussen gar nicht sichtbar werden.

        Du solltest unter den bisherigen URLs den bisherigen
        Content ausliefern und auch fuer neue Inhalte
        entsprechende URLs nach dem alten Schema
        aufbauen und intern weiterverarbeiten.

        Die "Umleitung" wuerde in diesem Fall allerdings nicht
        mit 301-Redirects, sondern mit mod_rewrite geschehen.
        Der Benutzer wuerde also immer den Status-Code 200
        kriegen, und sofort auch die Inhalte.

        Ich koennte mir vorstellen, dass dies auch in bezug
        auf die Suchmaschinen der bessere Weg waeren.

        Wenn du so nett wärst, mir dazu eine Anleitung zu geben, respektive auch aussagekräftige Links in deutsch, könnte ich mir das schon so vorstellen.

        Wie gesagt, wuerde ich bei Dir eher eine
        "Verschleierungs-Taktik" mit mod_rewrite
        empfehlen.

        Die englischen Original-Anleitungen:
        http://httpd.apache.org/docs/mod/mod_rewrite.html
        http://httpd.apache.org/docs/misc/rewriteguide.html

        Deutsche Anleitungen und Beispiele fuer den Einsatz von mod_rewrite:
        http://www.suchfibel.de/aktuell/phpseiten_und_suchmaschinen.htm
        http://www.traum-projekt.com/html/sonstige/apache/htaccess/
        http://www.devmag.net/servertechnik/mod_rewrite_1.htm
        http://www.linux-magazin.de/Artikel/ausgabe/2002/10/rewrite/rewrite.html

        Google hilft Dir sonst sicher auch weiter...

        Gruesse,

        Thomas

        1. Hallo Thomas,

          Wie gesagt, wuerde ich bei Dir eher eine
          "Verschleierungs-Taktik" mit mod_rewrite
          empfehlen.

          Die englischen Original-Anleitungen:
          http://httpd.apache.org/docs/mod/mod_rewrite.html
          http://httpd.apache.org/docs/misc/rewriteguide.html

          Deutsche Anleitungen und Beispiele fuer den Einsatz von mod_rewrite:
          http://www.suchfibel.de/aktuell/phpseiten_und_suchmaschinen.htm
          http://www.traum-projekt.com/html/sonstige/apache/htaccess/
          http://www.devmag.net/servertechnik/mod_rewrite_1.htm
          http://www.linux-magazin.de/Artikel/ausgabe/2002/10/rewrite/rewrite.html

          Danke für die Links, sind sicher sehr wertvoll.
          Ich hab mal folgendes probiert:

          RewriteEngine on
          RewriteRule ^/_test/index.php?body=1&content=guestbook$ index.php?body=1&content=guestbook

          Der Erfolg war ein Internal Server Error auf der ganzen Linie, meine Seite konnte nicht mehr aufgerufen werden.
          Hab ich da einen Syntaxfehler drin, oder ist das Modul Mod_Rewrite nicht aktiv?

          Gruß

          Kurt

          --
          "Diplomatie ist die Kunst, mit hundert Worten zu verschweigen, was man mit einem einzigen Wort sagen koennte."  (Saint-John Perse; fr. Lyriker u. Diplomat; 1887 -1975)
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at
          1. Hallo,

            Ich hab mal folgendes probiert:

            RewriteEngine on
            RewriteRule ^/_test/index.php?body=1&content=guestbook$ index.php?body=1&content=guestbook

            Der Erfolg war ein Internal Server Error auf der ganzen Linie, meine Seite konnte nicht mehr aufgerufen werden.
            Hab ich da einen Syntaxfehler drin, oder ist das Modul Mod_Rewrite nicht aktiv?

            Vermutlich Syntaxfehler.

            Ich selbst habe diese "Voodoo" Dinge kaum im Einsatz,
            kann also nicht aus Erfahrung sprechen.
            Ich vermute, dass der Punkt im ersten Teil
            durch . escaped werden muss:

            ^/_test/index.php?body=1&content=guestbook$

            Vielleicht auch der im zweiten Teil:
            index.php?body=1&content=guestbook

            Warum machst Du die ganze Sache nur fuer eine
            einzige Datei mit einem ganz speziellen Parameter?

            Hier geht es Dir ja offenbar darum,
            gewisse Dinge aus dem Index von Google
            zu loeschen.

            An die robots.txt haelt er sich ja meistens,
            solange man kein META-Tag in der Datei
            hat, das ihm das indizieren wieder "erlaubt".
            Wenn Du nicht willst, dass er eine Seite
            indiziert, solltest Du in der Seite selbst
            das entsprechende Meta-Tag haben:
             <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
            http://www.google.com/intl/de/remove.html#exclude_pages

            Gruesse,

            Thomas
              der um RegEx und mod_rewrite bisher einen grossen Bogen macht...

            1. Hallo Thomas,

              RewriteEngine on
              RewriteRule ^/_test/index.php?body=1&content=guestbook$ index.php?body=1&content=guestbook

              Der Erfolg war ein Internal Server Error auf der ganzen Linie, meine Seite konnte nicht mehr aufgerufen werden.
              Hab ich da einen Syntaxfehler drin, oder ist das Modul Mod_Rewrite nicht aktiv?

              Vermutlich Syntaxfehler.

              Ich selbst habe diese "Voodoo" Dinge kaum im Einsatz,
              kann also nicht aus Erfahrung sprechen.
              Ich vermute, dass der Punkt im ersten Teil
              durch . escaped werden muss:

              ^/_test/index.php?body=1&content=guestbook$

              Vielleicht auch der im zweiten Teil:
              index.php?body=1&content=guestbook

              Ich hab jetzt alle möglichen Varianten durchprobiert, kein Erfolg Error 500.

              Warum machst Du die ganze Sache nur fuer eine
              einzige Datei mit einem ganz speziellen Parameter?

              Weil die URLs derart unterschiedlich sind/waren, daß es unmöglich ist, alles in einer Regel zu erfassen.
              aus /_test/index.php?body=1&content=guestbook soll index.php?body=1&content=guestbook werden,
              aus /javascript/zellen_mouseover.php soll /index.php?content=cell werden,
              aus /javascript/popup/popup_aufloesungsunabhaengig_zentrieren.php soll /index.php?content=center werden, usw...

              Hier geht es Dir ja offenbar darum,
              gewisse Dinge aus dem Index von Google
              zu loeschen.

              An die robots.txt haelt er sich ja meistens,

              hab ich angelegt und das Verzeichnis /_test/ von der Indizierung ausgeschlossen.
              Bei den alten, nicht mehr existenten URLs hilf mir das aber nichts, da bleibt nur Mod_Rewrite oder RedirectPermanent.
              Letzteres funktioniert bei den alten URLs, nicht aber bei den in "_test" indizierten Seiten, keine Ahnung, warum.

              solange man kein META-Tag in der Datei
              hat, das ihm das indizieren wieder "erlaubt".

              Hab ich nicht. Hatte ich nie und werde ich nie haben. Ich hatte noch nichtmal Keywords auf den Seiten....

              Wenn Du nicht willst, dass er eine Seite
              indiziert, solltest Du in der Seite selbst
              das entsprechende Meta-Tag haben:
              <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

              Wäre eine Möglichkeit, zumindest im Testverzeichnis die Indizierung auszuschliessen, bzw. rückgängig zu machen.

              http://www.google.com/intl/de/remove.html#exclude_pages

              der um RegEx und mod_rewrite bisher einen grossen Bogen macht...

              Naja, wär ja eine super Sache, wenn es denn gehen würde....

              Gruß

              Kurt

              --
              "Arm ist nicht der, der wenig hat, sondern der, der nicht genug bekommen kann."  (Jean Guéhenno; fr. Paedagoge, Kritiker u. Schriftsteller; 1890-1978)
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at
  5. Hallo alle,

    Soeben habe ich bemerkt, daß Google meinen Testordner indiziert hat.
    Ich dachte immer, Verzeichnisse, die mit einem Unterstrich beginnen, sind verborgen???
    Es führt kein Link in dieses Verzeichnis, es sei denn, hier über das Forum.
    Folgenden Pfad habe ich bei google an dritter Stelle gefunden:

    faq.united-web.at/_test/?body=1&content=guestbook

    Wie krieg ich die Links auf dieses Verzeichnis nur wieder raus aus dem Index?

    Gruß

    Kurt

    --
    "Unter Intuition versteht man die Faehigkeit gewisser Leute, eine Lage in Sekundenschnelle falsch zu beurteilen."  (Friedrich Duerrenmatt; schweiz. Schriftsteller; 1921-1990)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. Moin!

      Soeben habe ich bemerkt, daß Google meinen Testordner indiziert hat.
      Ich dachte immer, Verzeichnisse, die mit einem Unterstrich beginnen, sind verborgen???

      Wer erzählt dir denn den Scheiß? Ein Unterstrich ist ein ganz simpel normales Zeichen. Und wenn das in irgendeinem URL vorkommt, ist das absolut nichts besonderes.

      Es führt kein Link in dieses Verzeichnis, es sei denn, hier über das Forum.

      Das ist ja immerhin schon mal was. Wird auch im Ranking besonders gut eingestuft.

      Folgenden Pfad habe ich bei google an dritter Stelle gefunden:

      faq.united-web.at/_test/?body=1&content=guestbook

      Wie krieg ich die Links auf dieses Verzeichnis nur wieder raus aus dem Index?

      Schwierig. Die robots.txt hilft vielleicht, ansonsten: Seite löschen/umbenennen und das indizierte Dokument auf 404 laufen lassen. Alternativ 410 (Gone) oder 403 (Forbidden).

      - Sven Rautenberg

      --
      Die SelfHTML-Developer sagen Dankeschön für aktuell 20065,57 Euro Spendengelder!
      1. Hallo Sven,

        Wer erzählt dir denn den Scheiß? Ein Unterstrich ist ein ganz simpel normales Zeichen. Und wenn das in irgendeinem URL vorkommt, ist das absolut nichts besonderes.

        Naja, das sind noch Erkenntnisse aus Anfängerzeiten, Da konnte man mir viel erzählen.... :o)

        Es führt kein Link in dieses Verzeichnis, es sei denn, hier über das Forum.

        Das ist ja immerhin schon mal was. Wird auch im Ranking besonders gut eingestuft.

        Folgenden Pfad habe ich bei google an dritter Stelle gefunden:

        faq.united-web.at/_test/?body=1&content=guestbook

        Wie krieg ich die Links auf dieses Verzeichnis nur wieder raus aus dem Index?

        Schwierig. Die robots.txt hilft vielleicht, ansonsten: Seite löschen/umbenennen und das indizierte Dokument auf 404 laufen lassen. Alternativ 410 (Gone) oder 403 (Forbidden).

        Nun, grad ist mir eine Idee gekommen.
        Ich werde einfach einen Redirect auf die tatsächliche Seite machen... :o)

        Danke dir!

        Gruß

        Kurt

        --
        "Wenn du kritisiert wirst, dann musst du irgend etwas richtig machen. Denn man greift nur denjenigen an, der den Ball hat."  (Bruce Lee; chin. Kampfsportler u. Philosoph; 1940-1973)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
        1. Hallo Kurt,

          Nun, grad ist mir eine Idee gekommen.
          Ich werde einfach einen Redirect auf die tatsächliche Seite machen... :o)

          Aber bitte einen 301er, dann ist er auch endgültig. :-)

          Viele Grüße,
          Christian

          1. Hallo Christian,

            Ich werde einfach einen Redirect auf die tatsächliche Seite machen... :o)

            Aber bitte einen 301er, dann ist er auch endgültig. :-)

            Nee, funktioniert nicht. Er wechselt nicht von
            /_test/ index.php?body=1&content=guestbook
            zu
            http://faq.united-web.at/ index.php?body=1&content=guestbook
            Scheint an den GET-Parametern zu liegen, denn wenn ich folgenden Redirekt angebe,
            /_test/
            leitet er sämtliche Seiten mit GET-Parametern um auf die index.php, ohne die Parameter zu berücksichtigen.
            Ohne diesen Redirekt(/_test/ )ändert sich nichts an der URL und es kommt ein 404.
            Scheint so, als ob ich doch eine 404 Seite machen müsste. :-(

            Gruß

            Kurt

            --
            "Verantwortlich ist man nicht nur fuer das, was man tut, sondern auch fuer das, was man nicht tut."  (Laotse; chin. Philosoph; 4.-3. Jh. v. Chr.)
            http://elektro-dunzinger.at
            http://shop.elektro-dunzinger.at
            1. Hallo Kurt,

              Nee, funktioniert nicht.

              Was hast Du denn probiert?

              Ein Rewrite per mod_rewrite mit den Parametern R=301 und QSA sollte auf jeden Fall funktionieren.

              Viele Grüße,
              Christian

              1. Hallo Christian,

                Was hast Du denn probiert?

                Vorerst mal:
                RedirectPermanent /_test/index.php?body=1&content=guestbook http://faq.united-web.at/index.php?body=1&content=guestbook
                hat nicht geklappt, da kam ein 404.
                Danach:
                RewriteEngine on
                RewriteRule ^/_test/index.php?body=1&content=guestbook$ http://faq.united-web.at/index.php?body=1&content=guestbook
                Ging auch nicht, Fehler 500 InternalServerError.

                Ein Rewrite per mod_rewrite mit den Parametern R=301 und QSA sollte auf jeden Fall funktionieren.

                Wie sieht sowas aus? Geht das überhaupt bei mir (500)?

                Gruß

                Kurt

                --
                "Was man muehelos erreichen kann, ist gewoehnlich nicht der Muehe wert, erreicht zu werden."  (Sprichwort)
                http://elektro-dunzinger.at
                http://shop.elektro-dunzinger.at
                1. Hallo Kurt,

                  RewriteRule ^/_test/index.php?body=1&content=guestbook$ http://faq.united-web.at/index.php?body=1&content=guestbook

                  Das kann auch nicht klappen... Lies Dir die Doku zu mod_rewrite bitte nochmal durch. Korrekt wäre

                  RewriteEngine On
                  RewriteRule ^/_test/(index.php)?$  http://faq.united-web.at/index.php   [L,R=301,QSA]

                  Ging auch nicht, Fehler 500 InternalServerError.

                  Allerdings dürfte Dein Beispiel keinen Internal Server Error produzieren... mod_rewrite nicht installiert?

                  Viele Grüße,
                  Christian

                  1. Hallo Christian,

                    RewriteEngine On
                    RewriteRule ^/_test/(index.php)?$  http://faq.united-web.at/index.php   [L,R=301,QSA]

                    Öhm ja, die Doku hätte ich mir durchgelesen, anscheinend aber nicht tiefgreifend genug.
                    L und R sind mir klar, aber was sagt das QSA?

                    Ging auch nicht, Fehler 500 InternalServerError.

                    Allerdings dürfte Dein Beispiel keinen Internal Server Error produzieren... mod_rewrite nicht installiert?

                    Ich vermute mal, weil die Site als Ganzes nicht mehr ging. Wäre es installiert, dürfte die Regel bei den regulären URLs nicht greifen, die müssten also gehen.

                    Gruß

                    Kurt

                    --
                    "Derjenige, der zum erstenmal an Stelle eines Speeres ein Schimpfwort benutzte, war der Begruender der Zivilisation."  (Sigmund Freud; oest. Psychologe u. Psychater; 1856-1939)
                    http://elektro-dunzinger.at
                    http://shop.elektro-dunzinger.at
                    1. Hallo Kurt,

                      L und R sind mir klar, aber was sagt das QSA?

                      Dass die Query-String wieder angehängt wird.

                      mod_rewrite nicht installiert?

                      Ich vermute mal, weil die Site als Ganzes nicht mehr ging. Wäre es installiert, dürfte die Regel bei den regulären URLs nicht greifen, die müssten also gehen.

                      Das ist auch meine Vermutung. Wende Dich vertrauensvoll an Deinen Hoster. (weniger wegen dem aktuellen Problem, sondern eher, weil mod_rewrite auch so ganz nützlich ist :-))

                      Viele Grüße,
                      Christian

                      1. Hallo Christian Seiler,

                        Das ist auch meine Vermutung. Wende Dich vertrauensvoll an Deinen Hoster. (weniger wegen dem aktuellen Problem, sondern eher, weil mod_rewrite auch so ganz nützlich ist :-))

                        Ja, das werde ich mal probieren, nur fraglich, ob er darauf einsteigt...
                        Danke dir für deine Hilfe.

                        Gruß

                        Kurt

                        --
                        "Dumme Gedanken hat jeder, aber der Weise verschweigt sie."  (Wilhelm Busch; dt. Zeichner u. Dichter; 1832-1908)
                        http://elektro-dunzinger.at
                        http://shop.elektro-dunzinger.at
                  2. Hallo Christian,

                    auch mit diesem Beispiel

                    RewriteEngine On
                    RewriteRule ^/_test/(index.php)?$  http://faq.united-web.at/index.php   [L,R=301,QSA]

                    erhalte ich Error 500.

                    Gruß

                    Kurt

                    --
                    "Was noch zu leisten ist, das bedenke, was du schon geleistet hast, das vergiss."  (Marie von Ebner-Eschenbach; oest. Schriftstellerin; 1830-1916)
                    http://elektro-dunzinger.at
                    http://shop.elektro-dunzinger.at
  6. Hallo alle,

    Warum geht das Schema

    "RedirectPermanent /javascript/2_frames_mit_einem_link_aendern.php http://faq.united-web.at/index.php?content=2frames"

    völlig problemlos, und warum funktioniert dieses Schema

    "RedirectPermanent /_test/index.php?content=robots http://faq.united-web.at/index.php?content=robots"

    überhaupt nicht?
    Genau dieses Problem tritt nämlich auf, sobald ich versuche, den Testseiten einen 301 zu verpassen. Es wird auf die entsprechenden Seiten verlinkt, als ob da gar nichts wäre.
    Nun hab ich mal das Verzeichnis gelöscht, jetzt kommt ein 404 beim Aufruf einer Seite, die im "_test"-Ordner liegen soll.
    Warum funktioniert der RedirectPermanent bei diesen Urls nicht, bei den alten Seiten mit den Pfaden in Unterverzeichnisse aber schon?

    Gruß

    Kurt

    --
    "Wer der Meinung ist, dass er fuer Geld alles haben kann, geraet leicht in den Verdacht, dass er fuer Geld alles zu tun bereit ist."  (Benjamin Franklin; am. Politiker; 1706-1790)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. Hallo Kurt,

      Warum geht das Schema

      "RedirectPermanent /javascript/2_frames_mit_einem_link_aendern.php http://faq.united-web.at/index.php?content=2frames"

      völlig problemlos, und warum funktioniert dieses Schema

      "RedirectPermanent /_test/index.php?content=robots http://faq.united-web.at/index.php?content=robots"

      überhaupt nicht?

      Weil RedirectPermanent im ersten Parameter die URI nur _bis zum_ Query-String erwartet. Das heißt:

      RedirectPermanent /a   http://www.example.org/irgendwohin

      geht.

      RedirectPermanent /a?b=c   http://www.example.org/irgendwohin

      geht nicht, da beim Aufruf von http://www.example.org/a?b=c der erste Parameter von RedirectPermanent nur gegen /a gematched wird.

      Viele Grüße,
      Christian

      1. Hallo Christian,

        Weil RedirectPermanent im ersten Parameter die URI nur _bis zum_ Query-String erwartet. Das heißt:

        RedirectPermanent /a   http://www.example.org/irgendwohin

        geht.

        RedirectPermanent /a?b=c   http://www.example.org/irgendwohin

        geht nicht, da beim Aufruf von http://www.example.org/a?b=c der erste Parameter von RedirectPermanent nur gegen /a gematched wird.

        Hab fast sowas befürchtet. Gibt es da eine Möglichkeit, den Query im ersten Parameter abzuschneiden und im zweiten wieder anzufügen?
        Sowas  wie QSA bei mod_rewrite?
        Ich hab alle mir bekannten deutschsprachigen Seiten dazu befragt, aber nichts entsprechendes gefunden.

        Gruß

        Kurt

        --
        "Verantwortlich ist man nicht nur fuer das, was man tut, sondern auch fuer das, was man nicht tut."  (Laotse; chin. Philosoph; 4.-3. Jh. v. Chr.)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
        1. hi,

          Hab fast sowas befürchtet. Gibt es da eine Möglichkeit, den Query im ersten Parameter abzuschneiden und im zweiten wieder anzufügen?
          Sowas  wie QSA bei mod_rewrite?

          ich konnte in der apache-doku zu mod_alias auf die schnelle nichts derartiges entdecken.

          wäre es denn evtl. eine option, dass du auf mod_rewrite "ausweichst"?

          gruss,
          wahsaga

          1. Hallo wahsaga,

            hi,

            Hab fast sowas befürchtet. Gibt es da eine Möglichkeit, den Query im ersten Parameter abzuschneiden und im zweiten wieder anzufügen?
            Sowas  wie QSA bei mod_rewrite?

            ich konnte in der apache-doku zu mod_alias auf die schnelle nichts derartiges entdecken.

            wäre es denn evtl. eine option, dass du auf mod_rewrite "ausweichst"?

            Ja, das wäre "DIE" Option, leider hat mein Provider mod_rewrite nicht installiert. :-(
            Ich muss wohl damit leben, daß bei diesen Links ein 404 kommt, sofern sich mein Provider nicht doch davon überzeugen lässt, das noch zu installieren.

            Gruß

            Kurt

            --
            "Die Erfahrung laesst sich ein hohes Schulgeld zahlen, doch sie lehrt wie niemand sonst."  (Thomas Carlyle; engl. Schriftsteller; 1795-1881)
            http://elektro-dunzinger.at
            http://shop.elektro-dunzinger.at