Sylnois
Mitglied
Hallo Leute,
Zuerst möchte ich euch gerne meine Ordnerstruktur erläutern. Ich habe also eine WebApplikation, die ist irgendwo in mehreren Unterordnern von einem /var/www oder in einem C:\inetpub\wwwroot Ordner abgelegt.
Der Aufbau meiner Dateien sieht wie folgt aus:
(Dabei steht * für Ordner und - für eine Datei)
In der index.php und download.php habe ich includes der von Stylesheets und JS-Scripts, und zwar in relativen Pfäden angegeben(Bsp. tmpl/css/css.css oder tmpl/js/jquery.js).
in der js.js Datei habe ich irgendwelche Ajaxaufrufe, welche auf das script.php verweisen(Pfad des Ajaxaufrufs im js.js Script: script.php)
S, nun zu meiner Applikation. Man kann das download.php Script mit dem Parameter token aufrufen(download.php?token=123123123). Doch die URL sieht ehrlichgesagt nicht so fancy aus. Ich hätte Sie lieber so gehabt: download/123123123 oder download/123123123/.
Also habe ich mir überlegt, ich erstelle doch ganz "einfach" eine htaccess Datei, die wie folgt aussieht:
Und tatsächlich, ich kann nun mein Script über die gewünschte URL aufrufen, ob download/123123123/ oder download/123123123.
Jedoch ist mir eines aufgefallen, was mir die Freude wieder wegnahm, und zwar waren meine Formatierungen weg, sowie das included Script wurde nicht aufgeführt(lediglich ein Ajaxcall, um Informationen vom Server zu holen). Tüchtig habe ich bei jedem Pfad mal nachgeholfen und überall den absoluten Pfad(ohne Host) angeben(Bsp. anstelle von tmpl/css/css.css -> /sub1/sub2/sub3/tmpl/css/css.css oder anstelle von script.php -> /sub/sub2/sub3/script.php).
Meine Frage an euch ist nun, ob jemandeine Lösung für mein Problem hat. Ich möchte die relativen Pfäden behalten können, da ich das Script auf mehreren Webservern laufen lasse, und zwar in unterschiedlichen Unterverzeichnissen, und ich es für unvorteilhaft halte, Änderungen an jedem Standort durchzuführen.
Gruss
Sylnois
Zuerst möchte ich euch gerne meine Ordnerstruktur erläutern. Ich habe also eine WebApplikation, die ist irgendwo in mehreren Unterordnern von einem /var/www oder in einem C:\inetpub\wwwroot Ordner abgelegt.
Der Aufbau meiner Dateien sieht wie folgt aus:
Code:
- .htaccess
- index.php
- download.php
- script.php
*tmpl
*css
- css.css
*js
- js.js
- jquery.js
In der index.php und download.php habe ich includes der von Stylesheets und JS-Scripts, und zwar in relativen Pfäden angegeben(Bsp. tmpl/css/css.css oder tmpl/js/jquery.js).
in der js.js Datei habe ich irgendwelche Ajaxaufrufe, welche auf das script.php verweisen(Pfad des Ajaxaufrufs im js.js Script: script.php)
S, nun zu meiner Applikation. Man kann das download.php Script mit dem Parameter token aufrufen(download.php?token=123123123). Doch die URL sieht ehrlichgesagt nicht so fancy aus. Ich hätte Sie lieber so gehabt: download/123123123 oder download/123123123/.
Also habe ich mir überlegt, ich erstelle doch ganz "einfach" eine htaccess Datei, die wie folgt aussieht:
Code:
Options +FollowSymLinks -MultiViews# Turn mod_rewrite on
RewriteEngine On
RewriteRule ^(download)/(\w+)/?$ $1.php?token=$2 [L,QSA,NC]
Und tatsächlich, ich kann nun mein Script über die gewünschte URL aufrufen, ob download/123123123/ oder download/123123123.
Jedoch ist mir eines aufgefallen, was mir die Freude wieder wegnahm, und zwar waren meine Formatierungen weg, sowie das included Script wurde nicht aufgeführt(lediglich ein Ajaxcall, um Informationen vom Server zu holen). Tüchtig habe ich bei jedem Pfad mal nachgeholfen und überall den absoluten Pfad(ohne Host) angeben(Bsp. anstelle von tmpl/css/css.css -> /sub1/sub2/sub3/tmpl/css/css.css oder anstelle von script.php -> /sub/sub2/sub3/script.php).
Meine Frage an euch ist nun, ob jemandeine Lösung für mein Problem hat. Ich möchte die relativen Pfäden behalten können, da ich das Script auf mehreren Webservern laufen lasse, und zwar in unterschiedlichen Unterverzeichnissen, und ich es für unvorteilhaft halte, Änderungen an jedem Standort durchzuführen.
Gruss
Sylnois