URL Rewrite

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Neu

      Mahlzeit!

      Heute mal was ganz anders. Ich hab' ne Webseite, die ich auf einen neuen Host umgezogen habe. Früher war die erreichbar unter https://www.meineseite.de. Nach dem Umzug soll sie über https://subdomain.meineseite.de erreichbar sein. Soweit war das auch alles kein Problem. Ich leite jetzt die ursprüngliche Domain mit 301 auf die Subdomain weiter.
      Mein Problem ist jetzt aber, dass alte Links - also z.B. https://www.meineseite.de/dokument.php?argument=xyz nicht mehr funktionieren.

      Ich hab ein bisschen im Netz gestöbert und das gefunden:

      Quellcode

      1. RewriteEngine On
      2. RewriteCond %{HTTP_HOST} ^(www\.)?meineseite\.de$ [NC]
      3. RewriteRule ^(.*)/?$ https://subdomain.meineseite.de/$1 [R=301,NE,NC,L]
      Wenn ich das jetzt richtig verstehe, sollte der Server damit jede Anfrage von http[s]://www.meineseite.de/$irgendwas auf https://subdomain.meineseite.de/$irgendwas umschreiben, oder?
      Falls ja, wie kann man das dahingehend erweitern, dass er nur bei festgelegten Dateien weiterleitet. Also sowas wie
      https://www.meineseite.de/datei_1.php?argument=x soll weitergeleitet werden auf https://subdomain.meineseite.de/datei_1.php?argument=X
      https://www.meineseite.de/datei_2.php?argument=x soll NICHT weitergeleitet werden (und führt dann ggf. zu einem 404).

      Ich verwende Apache2 mit mod_rewrite und würde mich freuen, wenn mir jemand dabei behilflich sein könnte.

      Vielen Dank!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von vPzBtl33_Bix ()

    • Neu

      stackoverflow.com/questions/12…ng-multiple-rewrite-rules

      Du hast in deiner RewriteRule auch .de zu.com heändert. Ich nehme an das soll nicht so?

      Ich würde sagen einfach mehrere regeln ala

      Quellcode

      1. RewriteCond %{HTTP_HOST} ^(www\.)?meineseite\.de/datei_1.php$ [NC]
      2. RewriteRule ^(.*)/?$ https://subdomain.meineseite.com/datei_1.php$1 [R=301,NE,NC]
      3. RewriteCond %{HTTP_HOST} ^(www\.)?meineseite\.de/datei_2.php$ [NC]
      4. RewriteRule ^(.*)/?$ https://subdomain.meineseite.com/404Seite.php [R=404,NE,NC,L]
      Nicht sicher ob das s funktioniert, du musst vllt etwas mit der L flag und der Reihenfolge spielen. Aber so in der Art würde ich es versuchen.
    • Neu

      Ja, das mit dem .com war einfach ein copy-paste Fehler meinerseits :(
      Es geht tatsächlich nur um die Subdomain.

      Ich hab jetzt einfach mal kühn meine Regel von oben (ohne den Fehler!) ausprobiert und das funktioniert schon nicht. Er bleibt im selben vHost, versucht die aufgerufene Datei anzuzeigen und (weil es die da gar nicht gibt) wirft einen 403 raus. Jetzt bin ich verwirrt.
    • Neu

      mod_rewrite richtig aktiviert und apache neugestartet?

      Die einzige Rewrite regel die ich in meinen Configs habe ist diese

      Quellcode

      1. RewriteEngine on
      2. RewriteCond %{SERVER_NAME} =s.sqf.ovh
      3. RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
      Ich weiß nichtmal mehr was diese tut.. Aber ich glaube das hat irgendwann mal funktioniert und etwas getan.
      Vllt irgendwas in den apache logs? oder vllt kann man irgendwie extra Rewrite logs anschalten?
    • Neu

      Nee, das isses alles irgendwie nicht. Das Modul läuft ja schon die ganze Zeit und funktioniert auch, also neustarten hilft da leider nicht (ist ja auch kein WIndows ^^).

      "Irgendwie" funktioniert es ja, nur nicht so, wie ich will. Im Moment versucht er die angeforderte Datei im selben vHost zu öffnen, was natürlich nicht gehen kann, weil die dort gar nicht existiert. Deswegen wirft er auch den Fehler aus.