php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.11.2010, 13:49  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 45
greenslot ist zur Zeit noch ein unbeschriebenes Blatt
Standard No such file or directory ... mit zusätzlichem Slash

Hallo,

ich habe mir in der htaccess ein "RewriteRule" angelegt und das klappt (fast) wunderbar, nur leider werden die CSS- und eingebundenen PHP-Dateien jetzt aber nicht mehr gefunden.

PHP-Code:
RewriteRule ^cat/(.*).php$ /felix/cat.php?sub_category=$[L
Das sieht dann so aus: felix/cat/sub_category.php
Mit felix/cat_sub_category.php werden die CSS- und PHP-Dateien korrekt eingebunden.

Ich habe in der Datei oben folgende Definition stehen:
PHP-Code:
define('ROOT_PATH''./'); 
Wenn ich jetzt aber den "Root-Path" ändere (../ oder ./../) bekomme ich jedes mal...
failed to open stream: No such file or directory für die PHP-Dateien.

Könnte mir da bitte jemand eine Lösung verraten, wenn man einen zusätzlichen Slash in die url setzt?
Danke!!
greenslot ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.11.2010, 14:41  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

http://de.selfhtml.org/html/allgemei...en.htm#absolut
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 11.11.2010, 15:00  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 45
greenslot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bei absoluten Pfadangaben müsste ich ja dann immer die Pfade bei allen Dateien, die ich einbinden will, neu angeben. Aktuell muss ich da nur den Root-Path ändern. Oder sehe ich das falsch?

Also weg von...

PHP-Code:
include ROOT_PATH 'includes/header.php'
und hin zu...

PHP-Code:
include '/includes/header.php'
bzw.
PHP-Code:
include '../includes/header.php'
?
greenslot ist offline   Mit Zitat antworten
Alt 11.11.2010, 16:51  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 45
greenslot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kann mir vielleicht jemand erklären, warum hier immer nur eine "RewriteRule" geht und nicht beide zusammen?
Die untere wird nur umgesetzt, wenn ich die erste ausklammere.

Code:
RewriteRule ^cat_(.*).php$ /felix/cat.php?sub_category=$1 [L]
RewriteRule ^cat_(.*)-(.*).php$ /felix/cat.php?sub_category=$1&site=$1 [L]
greenslot ist offline   Mit Zitat antworten
Alt 11.11.2010, 16:58  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht solltest du sie einfach mal umdrehen
KarlEgon ist offline   Mit Zitat antworten
Alt 11.11.2010, 17:02  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 45
greenslot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Knaller! Geht!

Aber warum?

Ich werd diese mod rewrite Geschichte nie kapieren.
greenslot ist offline   Mit Zitat antworten
Alt 11.11.2010, 17:19  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

Sobald eine Regel zutrifft werden die anderen nicht mehr geprüft! Ist wie bei einer IF-Bedingung
PHP-Code:
$var 45;
if(
$var<100) {
    echo 
'Kleiner 100';
} else if(
$var<50) {
    echo 
'Kleiner 50';

Was wird wohl ausgegeben?
KarlEgon ist offline   Mit Zitat antworten
Alt 11.11.2010, 19:54  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 45
greenslot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, danke!

Noch was...

Warum ergibt
PHP-Code:
echo $_GET['site']; 
mit...
Code:
RewriteRule ^cat_(.*)-(.*).php$ /felix/cat.php?sub_category=$1&site=$1 [L]
bei diesem Aufruf: felix/cat.php?sub_category=thomas&site=2
2
und bei diesem Aufruf: felix/cat_thomas-2.php
thomas



Ich hätte gern mit der "RewriteRule" ebenfalls 2, wenn site ausgegeben werden soll.
greenslot ist offline   Mit Zitat antworten
Alt 11.11.2010, 20:27  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von KarlEgon Beitrag anzeigen
Sobald eine Regel zutrifft werden die anderen nicht mehr geprüft! Ist wie bei einer IF-Bedingung
Das ist Unfug. Natürlich werden weitere Regeln auch noch überprüft, so lange du nicht explizit gegenteiliges angibst.

Wenn die erste der gezeigten Regeln zutrifft, wird die Adresse umgeschrieben - und auf diese umgeschriebene Adresse trifft die zweite dann nicht mehr zu.

Das Vertauschen der Regeln löste hier deshalb das Problem, weil die zweite spezifischer ist, als die erste.
^cat_(.*).php$ trifft auch auf Adressen in der Form cat_foo-bar.php zu - also hat die erste Regel das bereits umgeschrieben, in /felix/cat.php?sub_category=foo-bar. Dass darauf die zweite Regel nicht mehr zutrifft, sollte klar sein.

Zitat:
Zitat von greenslot
Bei absoluten Pfadangaben müsste ich ja dann immer die Pfade bei allen Dateien, die ich einbinden will, neu angeben.
Wieso kommst du jetzt mit irgendwelchen include-Beispielen - ich dachte, es ging dir um clientseitig eingebundene CSS-Ressourcen?

Zitat:
Zitat von greenslot
Warum ergibt
PHP-Code:
echo $_GET['site']; 
mit...
Code:
RewriteRule ^cat_(.*)-(.*).php$ /felix/cat.php?sub_category=$1&site=$1 [L]
bei diesem Aufruf: felix/cat.php?sub_category=thomas&site=2
2
und bei diesem Aufruf: felix/cat_thomas-2.php
thomas
Weil du jeweils nur den Inhalt der ersten Klammerung innerhalb des Suchausdrucks als Parameter übernimmst.

Zitat:
Ich hätte gern mit der "RewriteRule" ebenfalls 2, wenn site ausgegeben werden soll.
Dann informiere dich mal, wofür die $Ziffer stehen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 11.11.2010, 21:31  
Benutzer
 
Registriert seit: 15.01.2009
Beiträge: 45
greenslot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Wieso kommst du jetzt mit irgendwelchen include-Beispielen - ich dachte, es ging dir um clientseitig eingebundene CSS-Ressourcen?
Im ersten Posting habe ich doch CSS und PHP Dateien erwähnt.
Ist das wieder was anderes?
Die CSS Dateien werdem im genannten Header eingebunden und dieser soll via include ebenfalls eingebunden werden.

Zitat:
Zitat von ChrisB Beitrag anzeigen
Dann informiere dich mal, wofür die $Ziffer stehen.
Ah, jetzt, ja!
$1... $2... $3... und es geht.
Danke für den Hinweis!
greenslot ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit phpmyadmin php10 Server, Hosting und Workstations 17 11.11.2010 19:58
[Erledigt] CSV-Datei erstellen und Daten reinschreiben DiaryOfDreams PHP Tipps 2010 6 04.06.2010 11:07
[Erledigt] Fehlermeldung: No such file or directory Tracker PHP Tipps 2010 13 28.04.2010 17:56
file_put_contents No such File or Directory Remon PHP-Fortgeschrittene 15 22.02.2010 10:43
Problem mit einem PHP Script distanzcheck PHP Tipps 2010 4 31.01.2010 17:28
[Erledigt] /usr/bin/php5^M: bad interpreter: No such file or directory aha_01 PHP Tipps 2009 4 13.11.2009 22:23
Failed to open stream: No such file or directory in... System-Check PHP Tipps 2009 4 09.08.2009 04:03
[Erledigt] Apache install geht nicht SteiniKeule Server, Hosting und Workstations 7 27.02.2009 08:40
[Erledigt] PHP -&gt; Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
session_start fehler? no such file found? seejay PHP Tipps 2006 11 10.01.2006 09:26
mkdir macht fehlermeldung ChDir: No such file TaStEn PHP Tipps 2005-2 3 25.09.2005 23:29
libmysqlclient.so.10 is needed Datenbanken 11 20.06.2005 15:27
include('~/files/file') --> »No such file or directory«. tapferesschneiderlein PHP Tipps 2005 7 14.04.2005 18:28
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
Warning no File or Directory... suter PHP Tipps 2004 2 09.06.2004 15:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
slash / in php ausgeben, hosting php datei \no such file or directory\, system php datei oder verzeichnis nicht gefunden, php daten slash, rewriterule immer mit slash am ende [^/.], cat datei oder verzeichnis nicht gefunden, php kein slashes beim schreiben von dateien, slash in csv datei ausgeben, php slashes umdrehen, cat: 1: no such file or directory, rewriterule durch slash keine css mehr

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum