htaccess - Rewrite mit mehreren Ebenen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absolut wechseln
absolute pfade
absoluten pfaden
art
bevorzugten stil
bild
binde
code
dank
datei
domain
gleiche datei
index
page
problem
relativen pfaden
schnelle antwort
standpunkt
url
wechsel
-
Guten Abend liebe Community,
ich sitze seit mehreren Stunden an einem echt doofen Problem. Und zwar geht es um einen rewrite womit ich von domain.de/page / domain.de/page/otherpage / domain.de/page/0/10 intern auf index.php?arg0={0}&arg1={1}&arg2={2} weiterleite mit einem rewrite. Der Code sieht folgendermaßen aus:
Options -Indexes +FollowSymLinks -MultiViews [...] # Redirect to index.php <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / #Options +FollowSymLinks RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^([a-z]+)(?:\/([a-z0-9]+))?(?:\/([a-z0-9]+))?$ /index.php?arg0=$1&arg1=$2&arg2=$3 [L,NC] </IfModule> [...]
Wird nun die Seite via domain.de/page aufgerufen, so werden die CSS / JS / Bild Dateien richtig verlinkt, wenn ich aber die Seite via domain.de/page/otherpage oder domain.de/page/0/10 aufrufe, so werden die Dateien nicht mehr im Wurzelverzeichnis gesucht, sondern in /page/ oder /page/0/ und somit werden die CSS / JS / Bild Dateien nicht mehr gefunden :/
Hat da wer eine Lösung für dieses Problem?
Bin für jede Hilfe dankbar :)
MfG Kevin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Danke für deine schnelle Antwort
Also ich binde die Dateien mit relativen Pfaden ein, sprich:
<link rel="shortcut icon" type="image/x-icon" href="./favicon.ico"> [...] <link rel="stylesheet" href="./css/main.css"> [...] <link rel="stylesheet" href="./css/bootstrap.theme.css"> [...] <script src="./js/jquery.pjax.js"></script> <script src="./js/navbar.js"></script> <script src="./js/navigation.js"></script>
Sollte ich auf absolute Pfade wechseln?
MfG -
dipoxegames schrieb:
Danke für deine schnelle Antwort
Also ich binde die Dateien mit relativen Pfaden ein, sprich:
<link rel="shortcut icon" type="image/x-icon" href="./favicon.ico"> [...] <link rel="stylesheet" href="./css/main.css"> [...] <link rel="stylesheet" href="./css/bootstrap.theme.css"> [...] <script src="./js/jquery.pjax.js"></script> <script src="./js/navbar.js"></script> <script src="./js/navigation.js"></script>
Sollte ich auf absolute Pfade wechseln?
MfG
nicht unbedingt, mußt halt nur entsprechend die Verlinkung dahingehend ändern, daß sie immer auf die gleiche Datei zugreifen ...
also z.B.
wenn die main.css abgelegt ist unter domain.de/css/main.css
dann reicht es bei domain.de/page/0/, die mit ./css/main.css zu verlinken
bei domain.de/page/0/10/ muss es aber lauten ././css/main.css
um das zu umgehen, kannst Du natürlich auch, wie selbst angedeutet auf absolut wechseln und immer komplett verlinken ...
Beitrag zuletzt geändert: 15.10.2015 8:42:28 von insight-miami -
Ja das ist so das kleine Probleme, wenn man sprechende URL erstellen möchte.
PHP Dateien werden von dem Standpunkt der aufrufenden Datei aufgerufen.
Aber in HTML wird es nach dem Standpunkt des Browser aufgerufen. Also mit jedem / verschiebt sich die aufrufende Instanz. Und daher die Probleme, die du hast.
Es gibt dazu 2 Lösungen.
1. Du legst mit PHP einen Grundpfad fest und legst diesen in einer Konstanten ab.
2. Du verlinkst mit absoluten Pfaden, je nach dem wie dein kompletter URL Aufbau ist, eventuell sogar gleich mit Domain davor.
Wenn du dir mal ein paar fertige Scripte aus CMS-Systemen oder ähnlichem anschaust, dann findest du sicherlich auch deinen bevorzugten Stil. Schöner ist natürlich die Lösung mittels PHP, einfacher eine direkte Verlinkung. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage