Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [MOD_REWRITE] Datei verschoben, Kompatibilität zu alten Programmversionen beibehalten (https://www.delphipraxis.net/190724-%5Bmod_rewrite%5D-datei-verschoben-kompatibilitaet-zu-alten-programmversionen-beibehalten.html)

Jim Carrey 31. Okt 2016 20:43


[MOD_REWRITE] Datei verschoben, Kompatibilität zu alten Programmversionen beibehalten
 
Meine Software kommuniziert ab und zu mit ein paar Dateien auf meinem Webserver.
Ich möchte diese Dateien gerne in eine Unterverzeichnis packen.
Weg von / hin zu /subdir

Ich bekomme meine RewriteRule nicht ganz hin, dass der Aufruf der alten Datei, die ja jetzt nicht mehr existiert, so umgeleitet wird, dass die neue aufgerufen wird :(
Code:
// Datei irgendeinedatei.php existiert nicht mehr in / sondern nun in /subdir
// meinedomain.de/irgendeinedatei.php soll nun zu meinedomain.de/subdir/irgendeinedatei.php umgeleitet werden:
RewriteRule "^/irgendeinedatei\.php$" "^/subdir/irgendeinedatei.php$" [NC,L]

Benedikt Magnus 31. Okt 2016 20:50

AW: [MOD_REWRITE] Datei verschoben, Kompatibilität zu alten Programmversionen beibeha
 
Ich habe mich gestern erst mit dem Zeug rumschlagen müssen, von daher noch ganz frisch. :-D
Code:
RewriteRule ^/(.*)\.php$ /subdir/$1\.php [NC,L]
Das müsste klappen. Der "." für jedes Zeichen und "*" für beliebige Anzahl.
Eventuell auch:
Code:
RewriteRule ^/(.+)\.php$ /subdir/$1\.php [NC,L]
Sodass mindestens ein Zeichen als Dateiname vorhanden sein muss.

Jim Carrey 1. Nov 2016 08:59

AW: [MOD_REWRITE] Datei verschoben, Kompatibilität zu alten Programmversionen beibeha
 
Danke funktioniert perfekt.
Code:
RewriteRule ^irgendeine(.+)\.php(.*)$ subdir/irgendeine$1\.php$2 [NC,L]
Apache ist der größte Mist den es überhaupt nur gibt. Werde wahrscheinlich irgendwann den Anbieter wechseln, damit ich nginx nutzen kann.

Valle 1. Nov 2016 11:37

AW: [MOD_REWRITE] Datei verschoben, Kompatibilität zu alten Programmversionen beibeha
 
Warum? Weil du die Anleitung nicht gelesen hast? Der Apache HTTP Server ist gute und professionelle Software. Und professionelle Software braucht nunmal etwas Einarbeitung. Mit nginx wäre deine Konfiguration auch nicht großartig anders:

Code:
rewrite ^irgendeine(.+)\.php(.*)$ subdir/irgendeine$1\.php$2 last;
Andere Sache: Bist du dir sicher dass deine RewriteRule jetzt das tut was du möchtest?
  • Sie leitet nicht um, wie du schreibst (HTTP redirect), sondern verändert den URL-Pfad intern
  • Sie ist case-insensitive: irgENDdeineX.PhP funktioniert auch (das nginx Beispiel hingegen ist case-sensitive!)
  • Sie funktioniert auch für Pfade: irgendeineX.php/irgendwas/asdf -> subdir/irgendeineX.php/irgendwas/asdf


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz