js/css files als php ausführen

Diskussionen zur Bedienung von KeyHelp.
Post Reply
KriZa
Posts: 26
Joined: Fri 25. Feb 2022, 12:25

js/css files als php ausführen

Post by KriZa »

Hallo,

ich möchte gerne ein versionsbedingtes Laden von nicht-php Dateien umsetzen. Um mir unnötige Unterordner zu ersparen würde ich gerne meine js und css im format /js/app.js?v=1.0.1 ansprechen, welche dann per file_get_contents den entsprechenden Inhalt läd. So habe ich nur einen Versionsordner.

Ich habe folgendes im Netz gefunden:

Code: Select all

<FilesMatch "\.js$">
  SetHandler application/x-httpd-php
  Header set Content-type "application/javascript"
</FilesMatch>
Funktioniert aber leider nicht. Ich vermute mal, es liegt am SetHandler Teil, der nicht korrekt ist. Was müsste da rein?



Ich weiß, es geht auch über /js/app.php?v=1.0.1 und dann mit set header content-type "application/javascript", aber ich empfinde das als nicht so sauber.

Danke für eure Hilfe.
User avatar
Jolinar
Community Moderator
Posts: 4004
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: js/css files als php ausführen

Post by Jolinar »

Und wenn du die URL mit einer Rewrite Rule entsprechend umschreibst...?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: js/css files als php ausführen

Post by 24unix »

Was ist das für ein Projekt?
Bei Symfony z.B. gibt es mit Asset-Mapper die Option, die so etwas unterstützt.

Oder halt Webpack.
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
User avatar
Tobi
Community Moderator
Posts: 3230
Joined: Thu 5. Jan 2017, 13:24

Re: js/css files als php ausführen

Post by Tobi »

„.js“ ist nur eine Dateiendung.

Genauso gut kannst du eine „.php“ als Java-Script-Datei einbinden. Dann wird die Datei automatisch durch den PHP Parser geschickt und kannst dir das ganze Rewriting komplett sparen.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
KriZa
Posts: 26
Joined: Fri 25. Feb 2022, 12:25

Re: js/css files als php ausführen

Post by KriZa »

Das ist eine komplette Eigenentwicklung. Ein Frontend, das eine API eines Partners anspricht.

Ich habe jetzt die Variante mit 'js/app.php?v=1.0.0' erfolgreich umgesetzt.

Ich habe aber in der htaccess jetzt folgendes drin:

Code: Select all

<FilesMatch "\.(php)$">
    Require ip 127.0.0.1
</FilesMatch>

<FilesMatch "^(index\.php|app\.php)$">
    Require all granted
</FilesMatch>
Zugriffe auf php Dateien dürfen nur intern gemacht werden mit der Ausnahme index.php oder app.php
Des Weiteren wird nachfolgend alles auf die index.php weitergeleitet, was nicht im Verzeichnis vorhanden ist.

Jetzt habe ich doch aber mit FilesMatch alle index.php und alle app.php, die da evtl noch mal kommen könnten in egal welchem Unterverzeichnis freigegeben. Das ist leider der Punkt an dem ich aussteige... Eigentlich soll ja nur die index.php auf erster Ebene und die app.php im Verzeichnis js ansprechbar sein.
Zum Thema <directoryMatch> kann ich leider keine Lösung finden - Kann man FilesMatch und DirectoryMatch ineinander verschachteln?
Also sowas wie:

Code: Select all

<directoryMatch ...>
<FilesMatch "app\.php">
    Require all granted
</FilesMatch>
</directoryMatch>
In Sachen interne Umleitung der app.js auf eine app.php muss ich mich erstmal in den Stoff einlesen, arbeite zu selten mit sowas.
KriZa
Posts: 26
Joined: Fri 25. Feb 2022, 12:25

Re: js/css files als php ausführen

Post by KriZa »

Ok...

<DirectoryMatch not allowed here

geht somit also an der Stelle nicht
KriZa
Posts: 26
Joined: Fri 25. Feb 2022, 12:25

Re: js/css files als php ausführen

Post by KriZa »

Code: Select all

<If "%{REQUEST_URI} =~ m#^/pagesubfolder/js/app.php#">
    Require all granted
</If>
Mhh - damit scheints zu funktionieren.
Post Reply