Überprüfen von Links

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überprüfen von Links

    Grüß Gott,

    ich arbeite zurzeit an einem Linkchecker (dem ein oder anderen hier ist dies wohl bekannt), der auch prima funktioniert. Es gibt in meinem Skript drei Typen, (interne!) Links zu überprüfen:

    - Bei internen IDs wird das Vorkommen via Datenbankabfrage überprüft
    - Beim Vorkommen einer html-Datei wird die Datei angepingt
    - Bei sonstigen Dateien (doc, pdf et cetera) verwende ich file_exists

    Warum Pingen? Es handelt sich um via .htaccess generierte .html-Dateien (mod_rewite), sodass diese real nicht existieren. Gepingt wird mittels @fopen.

    Allerdings bedarf dieser Vorgang bei 1.365 zu überprüfenden Links insgesamt gut 15 Sekunden. Dass das ganze etwas dauert, ist mir klar. Trotz alledem bin ich auf der Suche nach schnelleren Möglichkeiten.

    Nun mein Anliegen an euch: Gibt es noch bessere bzw. schlauere Vorgehensweisen, die Dateien nach ihrer Existenz zu überprüfen und wenn ja, welche konkret?

    Lieben Dank!

  • #2
    Du kannst das selbe Rewriting, was mod_rewrite macht in PHP nachbauen und dann mit file_exists() prüfen.
    Ob das schneller geht, hängt natürlich auch von der Komplexität der Rewrites ab.

    Weitere Möglichkeiten sehe ich nicht.

    Kommentar


    • #3
      Mh.. Die Lösung würde voraussetzen, dass das mod_rewite immer gleich ist. Daher kommt das nicht in Frage.

      Kommentar


      • #4
        In wiefern immer gleich? In PHP gibt es mindestens genausoviele tolle Reguläre Ausdrücke wie das mod_rewirte unterstützt.
        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

        Kommentar


        • #5
          Der Linkchecker ist eine flexible und keine feste Lösung für mich alleine. D. h. das mod_rewite kann bei Person A anders aussehen als bei Person B.

          Kommentar


          • #6
            Und in PHP kannst du Person A nicht von Person B unterscheiden, weil?

            Versteh mich nicht falsch, ich will dich nicht überreden ein Äquivalent in PHP umzusetzen oderso, denn wie schon gesagt, ist das auch nicht in jedem Fall performanter.
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar


            • #7
              Natürlich kann ich sie unterscheiden. Aber ich müsste erstmal das mod_rewite interpretieren. Das dürfte von der Performance eher noch langsamer als die bisherige Lösung sein. Und wenn es, wie du richtig sagst, mal klappt, dann sei immer noch dahin gestellt, ob es überhaupt einen relevanten Geschwindigkeitsgewinn bringt.

              Kommentar


              • #8
                Einfach mal am Rande gefragt, wozu bauste das ding denn? Damit keine Fehlerseite erscheint? Wärs mir glaub ich nicht wert.
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar


                • #9
                  Es ist ein Auftrag .

                  Kommentar


                  • #10
                    User? Was denn für User?
                    Wie funktioniert denn User-abhängiges Rewriting mit mod_rewrite, so dass man es nicht genauso mit PHP machen kann?

                    Kommentar


                    • #11
                      User A formatiert seine URLs so:
                      seite.php?id=X

                      User B:
                      seite,x.html

                      User C:
                      page-blub-id9.html

                      User D:
                      irgendeinname_xxx_445,logic,blub.htm

                      Kommentar


                      • #12
                        ... und irgendwo gibt es eine oder mehrere .htaccess-Dateien, in denen die dazu passenden Rewrite Rules stehen. Die mußt du nachbauen.

                        Ob die verschiedenen URL-Formate nun von mehreren Usern stammen oder von einem einzigen (sehr kreativen *sic*), kann dir doch egal sein.

                        Für mod_rewrite gibt es keine "User", also brauchst du dich auch nicht um sowas zu kümmen.

                        Kommentar


                        • #13
                          Aber:
                          a) Muss ich herausfinden, WO die .htaccess-Datei ist. Normalerweise im Hauptordner. Aber was ist schon normalerweise?
                          b) Müsste ich die .htaccess-Datei parsen. Das macht einen etwaigen Geschwindigkeitsgewinn wieder wett.

                          Kommentar

                          Lädt...
                          X