Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Doppelpunkt in URL unter Windows Apache

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Doppelpunkt in URL unter Windows Apache

    Ich brauche für diverse Zwecke ein weiteres Trennzeichen für die URL und der Doppelpunkt scheint mir dafür am geeignetsten, wird ja auch auf vielen Seiten (z.B. Wiki) verwendet. Funktioniert bei mir soweit auch gut, aber nur auf meinen gemieteten Server (mit Linux), auf meinen PC (mit Windows) nicht ...

    Ich bin schon auf diverse Threads im Internet gestoßen z.B. hier: Doppelpunkt in URL = 403, Zugriff verweigert?
    Er schreibt dann, dass er es gelöst hat, weil er vorher "im <directory>-Container war"! In meiner .htaccess gibt es aber nicht mal einen directory-Container!

    Gibt es überhaupt eine Lösung zu dem Problem?
    Welches sonstige Zeichen würde sich als Trennzeichen sonst noch empfehlen?

    Daten:
    Win7 Prof. x64 SP1
    Xampp 1.7.2
    Apache 2.2.12

  • #2
    Ich nutze immer Pipe als Trennzeichen -> |

    Kommentar


    • #3
      AFAIK ist der Dppelpunkt under URL ja auch dafür bekannt einen Port anzusprechen...
      Korrigiert mich wenn ich irre, aber auf meinem Server habe ich einen AudioStream angesprochen wird er bei mir so:
      http://www.example.com:8000/listen.pls
      Wobei :8000 auf den Port 8000 verweist, auf dem ser Stream lokalisiert ist oder?
      RealLife.exe was not able to start due to VirtualLife.exe is already active! Please try again later...
      http://peegee84.deviantart.com

      Kommentar


      • #4
        Erklärung und Lösungsansatz auch hier:

        - http://www.mediawiki.org/wiki/Manual..._Special_Pages

        Du müsstest so in etwa Step 1 ausführen. Die entsprechende Konfigurationsdatei (wahrscheinlich httpd.conf) sollte über diese Liste zu finden sein:

        - http://www.apachefriends.org/en/xampp-windows.html#529

        Edit: Serverneustart nicht vergessen.

        Kommentar


        • #5
          Als Trennzeichen für Parameter wird auch ; empfohlen:
          http://www.w3.org/DesignIssues/MatrixURIs
          http://www.w3.org/QA/2005/04/php-session

          Kommentar


          • #6
            Kommas habe ich auch schon gesehen.
            [PHP]if ($var != 0) {
            $var = 0;
            }[/PHP]

            Kommentar


            • #7
              Zitat von lcrash Beitrag anzeigen
              Als Trennzeichen für Parameter wird auch ; empfohlen:
              http://www.w3.org/DesignIssues/MatrixURIs
              http://www.w3.org/QA/2005/04/php-session
              Semikolon würd ich nicht verwenden. In XHTML wird statt eines einfachen & in den Urls ein "&amp;" verwendet. Da kannst du Probleme bekommen. (siehe arg_separator.output und arg_separator.input Einstellung in der php.ini)

              Ich würde auch eher | oder , vorschlagen.

              Grüße.

              Kommentar


              • #8
                Nicht nur in XHTML. "&" ist nunmal das Zeichen, das Entities einleitet.

                Könntest du ein Beispiel geben, wo es da Probleme gibt?

                Kommentar


                • #9
                  Das ist halt wie mit dem Doppelpunkt. Sollte eigentlich auch kein Problem sein den zu verwenden... aber halt doch nicht immer.

                  Warum ein Zeichen verwenden, dass bereits irgendwie verwendet wird wenn man die Wahl hat und ein anderes verwenden kann?

                  Grüße

                  Kommentar


                  • #10
                    Aufpassen muss man so oder so, da der Separator immer auch Teil eines Parameter-Werts sein kann.

                    http_build_query kann da helfen.

                    Kommentar


                    • #11
                      @ mermshaus:
                      Ich denke auch, dass das die Lösung ist, nur verstehe ich davon die Hälfte nicht:
                      Zitat von wiki
                      If have vHosts configured, insert the following Rewrite directives into the appropriate <VirtualHost> directive. Otherwise, insert it in the <directory> directive for your wiki's root directory:
                      Was bedeutet <directory>-Directive?
                      Ich habe in \xampp\apache\conf\httpd.conf einfach mal das eingefügt:
                      PHP-Code:
                      <directory>
                          
                      RewriteEngine On
                          RewriteRule 
                      ^/(.*):(.*) /index.php/$1:$2
                      </directory
                      Wenn ich aber das mache, startet der Apache gar nicht mehr!
                      Wenn ich nur
                      PHP-Code:
                          RewriteEngine On
                          RewriteRule 
                      ^/(.*):(.*) /index.php/$1:$
                      in einem der IfModule einfüge, dann startet der Apache, aber der 403-Fehler besteht weiterhin!
                      Wie und wo muss ich das einfügen?

                      @ All:
                      Das | Zeichen wäre auch nicht schlecht ... aber es kommt genauso ein 403-Fehler! Der Strichpunkt scheint mir auch ungünstig ... wenn das mit dem Doppelpunkt klappt, wäre ich sehr froh

                      Kommentar


                      • #12
                        hm ... ich hab was interessantes/komisches herausgefunden:
                        Egal ob ich den obigen Code irgendwo eingefügt habe ...

                        wenn ich z.B. das eingebe kommt ein Fehler: http://localhost/asdf:asdf
                        wenn ich aber das eingebe kommt kein Fehler: http://localhost/asdf/asdf:asdf
                        wenn ich aber das eingebe kommt ein Fehler: http://localhost/test/asdf:asdf
                        der einzige unterschied ist, dass es den Ordner 'test' real gibt, den Ordner 'asdf' nicht!
                        Also kann ich in 2ter Ebene ein doppelpunkt verwenden, wieso aber nicht in 1ter Ebene!?

                        Kommentar


                        • #13
                          Siehe die in #4 verlinkte Wikipedia-Seite:

                          Because the colon character is used by NTFS to denote symbolic links, when http://example.com/Special:SpecialPages is accessed, Windows looks for a non-existent symbolic link in the document root for example.com. This generates a 403 error.
                          Da steht zwar nicht explizit, dass es in Unterverzeichnissen keine Probleme gibt (das steht in etlichen Threads zu dem Thema, die man per Suchmaschine findet), aber das ist offenbar die Erklärung. (Ich kann's selbst nicht beurteilen.)

                          Du könntest noch den standardmäßigen Inhalt der httpd.conf-Datei posten. Wahrscheinlich hast du jedoch größere Chancen auf eine Lösung des Problems, wenn du dich an das offizielle XAMPP-Forum wendest.

                          - http://www.apachefriends.org/f/

                          Kommentar


                          • #14
                            Zitat von lcrash Beitrag anzeigen
                            Als Trennzeichen für Parameter wird auch ; empfohlen:
                            Nutze ich in meinem Framework / Lib auch. Grund: das "&" ist Teil unserer Schriftsprache - als Teil der URI wirkt hinz&kunz ästhetischer (und lesbarer) als hinz&amp;kunz.

                            Bekanntgabe bspw. via htaccess:

                            Code:
                            php_value arg_separator.output ;
                            php_value arg_separator.input ;
                            Zitat von php1704 Beitrag anzeigen
                            Semikolon würd ich nicht verwenden. In XHTML wird statt eines einfachen & in den Urls ein "&amp;" verwendet.
                            Das ist kein Problem.

                            dr.

                            Kommentar


                            • #15
                              Zitat von mermshaus Beitrag anzeigen
                              Du könntest noch den standardmäßigen Inhalt der httpd.conf-Datei posten.
                              Bitte: httpd.conf

                              Und ich hab jetzt auch mal im Xampp-Forum angefragt, weil du hast recht ... die meisten Apache auf Windows PCs wurden sicher mit Xampp installiert ... vielleicht weiß da jemand mehr ... ist halt wieder ein Windows Feature, dieser Bug

                              Kommentar

                              Lädt...
                              X