Ich habe jetzt über einen Tag damit verbracht, ein Problem zu lösen, bei dem zwei Anwendungen die gleichen relativen Pfade verwenden, aber unter einem anderen "root" liegen und auf die falsche Code-Basis zugegriffen wird eine der Anwendungen.Konflikt beim Mapping für zwei ColdFusion-Anwendungen
Das sind meine Wurzeln zu den beiden Anwendungen:
- \ www \ Clients \
- \ www \ Other \ Clients \
Struktur
..www
....Clients
......Application.cfc
....Other
......Clients
........Application.cfc
In beiden Anwendungen gibt es Code, der auf den relativen Pfad verweist (z.B. /clients/content/login.cfm)
stellte ich fest, dass der Administrator einen Coldfusion Mappings Abschnitt hat, wo der erste Zuordnungs /
kartiert auf den Verzeichnispfad D:/www/
einen logischen Pfad aufweist.
Dies funktioniert gut für die erste Anwendung, da der Ordner clients
direkt unter dem Ordner www
gefunden wird, jedoch funktioniert die zweite Anwendung nicht richtig, da es auch an die gleiche Zuordnung hält. Daher sucht es, anstatt nach /clients/content/login.cfm
unter dem Others
Ordner zu suchen, noch einmal unter dem Ordner www
.
Hinweis: Beide Anwendungen haben eine andere Application.Name
, so dass sie in der Tat getrennt sind.
Die größte rote Flagge ist, dass dieses Problem nicht auf unserem älteren ColdFusion 9-Server auftritt, jedoch auf dem neueren ColdFusion 2016-Server.
Beim Durchsuchen von ColdFusion Administrator kann ich keine anderen Einstellungen finden, die den zugrunde liegenden Stamm pro Anwendung beeinflussen könnten, der Vorrang vor den Zuordnungen haben könnte.
Gibt es eine Einstellung, die ich verpasst habe? Gab es drastische Änderungen in Bezug auf relative Pfade oder Zuordnungen zwischen ColdFusion 9 und ColdFusion 2016?
IIRC für ältere Versionen von Coldfusion benötigten wir die Wurzel '/' Mapping in Coldfusion Administrator zu haben, die Dinge funktionieren. Das sollte nicht mehr notwendig sein, wenn Sie auf anwendungsspezifische Mappings umsteigen (definiert in Ihrer Application.cfc-Datei). Ich würde die Administratorzuordnung entfernen und eine anwendungsspezifische Zuordnung zu Ihren zwei Application.cfc-Dateien hinzufügen, die genau definieren, wo sich die Dateien dieser Anwendung befinden. –
Anwendungsspezifische Mapping hat tatsächlich die Situation gelöst, danke! – MPaul