Announcement

Collapse
No announcement yet.

htaccess von domain.com/REQUEST auf www.domain.com/REQUEST

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • htaccess von domain.com/REQUEST auf www.domain.com/REQUEST

    Servus.
    Ich möchte bei einer URI im Format:
    domain.com/directory/file.ext
    via .htaccess
    auf www.domain.com/directory/file.ext
    umleiten lassen und zwar unabhängig von dem Request, also dem
    directory/file.ext.
    Aber ich schaffe das nicht, dass die aufgerufene URI ohne www. auf die mir www. umzuleiten.
    Nochmal: die htaccess soll egal bei welchem request ohne www. auf den abgegeben request mit www. umleiten. Ich hoffe ich hab das verständlich ausgedrückt.
    Ich verzweifel, da ich keine Lösung finden konnte!
    Ants aren't dead

  • #2
    Hallo,
    Originally posted by Antz View Post
    ...Aber ich schaffe das nicht, dass die aufgerufene URI ohne www. auf die mir www. umzuleiten.
    Woran scheitert es denn, bzw. was hast du wie schon probiert?

    Ansonsten: http://lmgtfy.com/?q=mod_rewrite+www+domain

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Ich habe bisher folgendes verwendet:

      RewriteCond %{REMOTE_ADDR} !^domain\.com$
      RewriteRule .* http://www\.domain\.com/$1 [R=301,L]

      Aber dies leitet immer zur domain.com/index um, egal wie der Request ist.
      Und ich bin sicher nicht eine Person die ins Forum schreibt ohne zuvor gegooglt zu haben
      Ants aren't dead

      Comment


      • #4
        Und ich bin sicher nicht eine Person die ins Forum schreibt ohne zuvor gegooglt zu haben
        #
        Ich denke der überwiegende Teil nutzt google nicht.

        Der erste Treffer müsste doch das sein, was du suchst
        Christian

        Comment


        • #5
          Danach habe ich das auch nochmal aufgebaut, aber er macht das nur mit der domain. Also wenn ich nur die domain domain.com aufrufe verweist er mcih auf www.domain.com aber nicht mit nem dahinterstehenden Request...
          Ants aren't dead

          Comment


          • #6
            Originally posted by Antz View Post
            ...Und ich bin sicher nicht eine Person die ins Forum schreibt ohne zuvor gegooglt zu haben
            Originally posted by Antz View Post
            Danach habe ich das auch nochmal aufgebaut, aber er macht das nur mit der domain. ...
            Entweder hast du dann nicht richtig gesucht, oder du kannst ein Beispiel nicht korrekt auf deine Bedürfnisse anpassen:

            Das Beispiel:
            Code:
            RewriteCond %{HTTP_HOST} ^skatsboard\.de$ [NC]
            RewriteRule ^(.*)$ http://www.skatsboard.de/$1 [R=301,L]
            Deine Umsetzung:
            Code:
            RewriteCond %{REMOTE_ADDR} !^domain\.com$
            RewriteRule .* http://www\.domain\.com/$1 [R=301,L]
            Siehst du die Unterschiede (von der Domain mal abgesehen)?
            Die Klammerung im Regulären Ausdruck ist nicht unwichtig, wenn man das anschließend (mit $1) weiterverwenden will.
            Als Zieladresse wird übrigens kein regulärer Ausdruck angegeben, du brauchst dort also . nicht maskieren.

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Ich denke ich muss meine Frage etwas verändern:
              Ich muss jede Anfrage an den Server über die index.php laufen lassen, das als Vorbemerkung.
              Nun möchte ich alle Anfragen die mit domain.com/request auf www.domain.com/rerquest umleiten lassen um doppelten inhalt zu vermeiden bzw auch auf technischen Gründen.
              Wie gehe ich da vor?
              Ich habe bissher mit:
              Code:
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule .* index.php [L]
              die Anfragen auf die index.php leiten lassen. Soweit so gut. Wie muss ich diese drei Zeilen ändern, damit aus domain.com/request, www.domain.com/request wird?
              Zuletzt editiert von Antz; 23.11.2011, 14:28.
              Ants aren't dead

              Comment


              • #8
                OK, Suchen kannst du nicht, Abschreiben auch nicht - wie soll man dir helfen

                Es steht zwar schon da, aber nochmal gaaanz langsam:

                füge als ERSTE Regel die folgende ein:
                Code:
                RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
                RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]
                ERSETZE das Wort "domain" in der Regel durch deine ganz spezielle Domain.

                Danach werden alle Zugriffe auf domain.de/irgendwas mit einer externen Umleitung (301 - Permanent verschoben) auf www.domain.de/irgendwas weitergeleitet. NACH dieser Umleitung greift dann deine weitere Regel für die index.php.

                Gruß Falk
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment


                • #9
                  Das klingt logisch. Ich werde es sofort ausprobieren, indem ich die gesamte htaccess von Null auf neu schreibe. Ich werde Bericht erstatten. Danke schon mal.

                  Bericht:
                  Jetzt geht es. Ich hatte noch eine Regel zwischen ->www und der umleitung zur index, die das Problem verurscht hat.

                  Danke für die Hilfe und hier nochmal das Resultat:
                  Code:
                  <IfModule mod_rewrite.c>    
                      Options +FollowSymLinks
                      Options +Indexes
                  
                      RewriteEngine On
                      RewriteBase /
                  
                      RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
                      RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]
                  
                      #[...]
                  
                      RewriteCond %{REQUEST_FILENAME} !-f
                      RewriteCond %{REQUEST_FILENAME} !-d
                      RewriteRule .* index.php [L]
                  </IfModule>
                  Schönen Gruß
                  Zuletzt editiert von Antz; 23.11.2011, 18:00.
                  Ants aren't dead

                  Comment

                  Working...
                  X