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 29.11.2010, 17: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

Zitat:
Zitat von AlfredHitzkopf Beitrag anzeigen
Per Firebug sehe ich, dass der Aufruf der externen CSS-Datei im Verzeichnis example.de/kategorie/ stattfindet. Diese liegt aber in example.de/css/, klar dass die nicht gefunden wird.
Natürlich. Relative Pfadangaben werden vom aktuellen Pfad ausgehend vervollständigt.

Zitat:
Ich brauche jetzt also noch eine Condition und eine Regel,dass die RewriteEngine einen Aufruf á la example.de/kategorie/unterkategorie in example.de/index.php?inc=kategorie&inc2=unterkategorie umformen soll.
Damit wäre der Pfad wiederum /kategorie/unterkategorie, und eine relative Pfadangabe zu deinem CSS würde von dort ausgehend vervollständigt - hilft dir also kein bisschen weiter.

IdR. ist es das einfachste, externe Ressourcen nicht vom aktuellen Pfad aus zu referenzieren, sondern von der Domain-Wurzel aus.
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
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.11.2010, 19:14  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Möglicherweise hilft dir ein anderer Ansatz:

.htaccess
Code:
RewriteEngine On 
RewriteRule ^(.*)$ index.php [L]
index.php
PHP-Code:
// -> example.org/para/para2/para3/
$teile explode['/',$_SERVER['REQUEST_URI']]
print_r[$teile]; 
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 29.11.2010, 20:02  
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 Wolla Beitrag anzeigen
Möglicherweise hilft dir ein anderer Ansatz:
Der ändert auch nichts daran, dass /para/para2/para3/ damit der vom Client aufgerufene Pfad ist, und er relative Pfadangaben mit diesem vervollständigt.

Außerdem schlägt eine so allgemeine Regel, die auf ^(.*)$ matcht, dann für JS/CSS/Bilder auch zu, so dass man die dann auch noch über die index.php ausliefern müsste - und um sinnvolles Caching solcher Ressourcen muss man sich damit dann auch noch selber kümmern.

Nee, das ist allgemein weniger empfehlenswert.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 29.11.2010, 22:55  
Benutzer
 
Registriert seit: 19.10.2010
Beiträge: 41
PHP-Kenntnisse:
Anfänger
AlfredHitzkopf befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
IdR. ist es das einfachste, externe Ressourcen nicht vom aktuellen Pfad aus zu referenzieren, sondern von der Domain-Wurzel aus.
Danke für den Tip! Da bin ich nicht drauf gekommen. Hab vor lauter Bäumen den Wald nicht gesehen. So simpel und so gut...Danke ChrisB!

Ich habe nun 2 Rules die funktionieren:
für eine Variable (example.de/kategorie):
Code:
RewriteRule ^(.*)$ index.php?inc=$1
für 2 Variablen (example.de/kategorie/unterkategorie):
Code:
RewriteRule ^(.*)/(.*)$ index.php?inc=$1&inc2=$2
Ich brauche also "nur" noch 2 Conditions, die die Fälle unterscheiden. Richtig?
meine Ansätze:
Code:
RewriteCond %{REQUEST_URI} ^(.*!\.)$
und 
RewriteCond %{REQUEST_URI} ^(.*!\.)/(.*!\.)$
wie ich es verstanden habe: von Anfang(^) bis Ende($) darf jedes Zeichen belibig oft vorkommen(.*) ausser dem Punkt(!\.)

Code:
RewriteCond %{REQUEST_URI} ^(\w*)$
wie ich es verstanden habe: von Anfang(^) bis Ende($) dürfen a-z, A-Z und 0-9 beliebig oft vorkommen.


Alle Versuche bisher erfolglos. So kommt bei egal welchem Aufruf ein 404 zurück. Aber das liegt wohl an meiner nicht vorhandenen Regex-Kenntnis...

Ich forsche weiter, bin aber für Tips sehr dankbar!
__________________
Tausche 10m WLAN-Kabel gegen Volleyball-Schläger. Bei Interesse bitte melden.

Geändert von AlfredHitzkopf (29.11.2010 um 23:04 Uhr).
AlfredHitzkopf ist offline   Mit Zitat antworten
Alt 29.11.2010, 23:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
// -> example.org/para/para2/para3/
$teile = explode['/',$_SERVER['REQUEST_URI']]
print_r[$teile];
interessante Syntax
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 30.11.2010, 00:54  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Ich hab heute die rechteckige Brille auf
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 30.11.2010, 08:51  
Erfahrener Benutzer
 
Registriert seit: 04.08.2010
Beiträge: 287
PHP-Kenntnisse:
Fortgeschritten
zwutz wird schon bald berühmt werden
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Außerdem schlägt eine so allgemeine Regel, die auf ^(.*)$ matcht, dann für JS/CSS/Bilder auch zu, so dass man die dann auch noch über die index.php ausliefern müsste - und um sinnvolles Caching solcher Ressourcen muss man sich damit dann auch noch selber kümmern.
is doch gut. So kann man css- und js-Dateien noch durch nen minifier jagen und Zugriff auf Bilder gleich mit regeln.

Flexibler als über modrewrite ist man auch noch, wenn man doch mal die Seitenstruktur ändern will
zwutz ist offline   Mit Zitat antworten
Alt 30.11.2010, 20:41  
Benutzer
 
Registriert seit: 19.10.2010
Beiträge: 41
PHP-Kenntnisse:
Anfänger
AlfredHitzkopf befindet sich auf einem aufstrebenden Ast
Standard

Könnt ihr mir noch kurz bei den Conditions helfen? Dann bin ich ja schon ruhig.
Mein o.g. Ansätze habe ich um einige Versuche erweitert, die aber alle nichts taugen.
wie muss ich
Code:
RewriteCond %{REQUEST_URI} ^(.*!\.)$
ändern, dass ein Aufruf wie
Code:
example.org/kategorie
zurtrifft, aber
Code:
example.org/kategorie/unterkategorie
nicht?

Danke
__________________
Tausche 10m WLAN-Kabel gegen Volleyball-Schläger. Bei Interesse bitte melden.
AlfredHitzkopf ist offline   Mit Zitat antworten
Alt 06.12.2010, 18:15  
Benutzer
 
Registriert seit: 19.10.2010
Beiträge: 41
PHP-Kenntnisse:
Anfänger
AlfredHitzkopf befindet sich auf einem aufstrebenden Ast
Standard

wenn es jemanden interessiert, ich habe es nun folgendermaßen gelöst:

Code:
# Follow Symbolic Links like category/subcategory (for e.g. googlebot)
Options +FollowSymLinks

RewriteEngine On

# Rootdirectory is DocRoot
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
# If Request isn't a directory redirect externally to remove trailing slash
RewriteRule ^(.+)/$ http://example.org/$1 [R=301,L]

# Ignore calls to folder /css
RewriteCond %{REQUEST_URI} !^/css/.*$

# Ignore calls to folder /js
RewriteCond %{REQUEST_URI} !^/js/.*$

# Ignore calls to index.php
RewriteCond %{REQUEST_URI} !^/index\.php$

# Ignore calls to folder /img
RewriteCond %{REQUEST_URI} !^/img/.*$

# Process only calls like example.org/category
RewriteCond %{REQUEST_URI} ^/([^/\.]+)$
RewriteRule ^([^/\.]+)$ index.php?inc=$1 [L]

# Process only calls like example.org/category/subcategory
RewriteCond %{REQUEST_URI} ^/([^/\.]+)/([^/\.]+)$
RewriteRule ^([^/\.]+)/([^/\.]+)$ index.php?inc=$1&inc2=$2 [L]
Bilder müssen absolut zum DocRoot referenziert werden.
Für Aufrufe wie example.org/kategorie/unterkategorie/unterkategorie2 muss der letzte Block wiederholt und folgend ergänzt werden:
Code:
# Process only calls like example.org/category/subcategory/subcategory2
RewriteCond %{REQUEST_URI} ^/([^/\.]+)/([^/\.]+)/([^/\.]+)$
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)$ index.php?inc=$1&inc2=$2 [L]
Für weitere Unterverzweigungen muss /([^/\.]+) entsprechend der Anzahl der Unterverzweigungen in der RewriteCond und RewriteRule wiederholt werden.

Ich habe leider immernoch sehr wenig Ahnung von regex und verstehe die Rules und Conditions immernoch nur sehr ansatzweise. Ich hatte mir ehrlich gesagt konstruktivere Hilfe vom Forum versprochen, aber vielleicht ist es auch das falsche Forum.

Wie auch immer, danke an diejenigen, die mir ernsthaft helfen wollten.

grüsse
__________________
Tausche 10m WLAN-Kabel gegen Volleyball-Schläger. Bei Interesse bitte melden.
AlfredHitzkopf 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
ModRewrite wertet GET Parameter mal richtig und mal falsch aus litterauspirna Server, Hosting und Workstations 4 22.01.2010 20:22
relative Pfade von Grafiken bei modrewrite jjkkll HTML, Usability und Barrierefreiheit 1 03.12.2009 16:43
Modrewrite Frage - Umleitung? rs_2009 Server, Hosting und Workstations 7 03.12.2009 08:15
[Erledigt] Problem mit modrewrite unter Windows WebServer2008 Plesk (IIS 7.0) BazzStyler Server, Hosting und Workstations 2 30.10.2009 18:40
modrewrite verzeichnis entfernen anna2o Server, Hosting und Workstations 8 26.10.2009 20:13
ModRewrite (.htaccess) Seitenparameterumleitung 1234d1 Server, Hosting und Workstations 4 20.10.2009 16:07
[Erledigt] modrewrite von verzeichnis auf subdomain Buschdieb Server, Hosting und Workstations 2 25.08.2009 22:06
keine variable bei modrewrite übergabe obi Server, Hosting und Workstations 10 28.10.2008 01:03
modrewrite get variable obi PHP Tipps 2008 14 21.09.2008 18:30
Problem mit ModRewrite #Avedo PHP Tipps 2008 9 08.09.2008 23:39
ModRewrite ohne ModRewrite Chriz PHP-Fortgeschrittene 2 05.07.2008 21:30
[Erledigt] modRewrite für verzeichnisse atzemann Server, Hosting und Workstations 10 23.06.2008 07:36
.htaccess !== ModRewrite Manko10 Off-Topic Diskussionen 2 05.05.2008 11:49
modrewrite ausserhalb des roots? heohni Server, Hosting und Workstations 5 31.05.2006 14:28
Bräuchte mal Hilfe zu ModRewrite DonTermi Beitragsarchiv 3 25.08.2005 17:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
rewriterule mehrere variablen css, rewriterule mehrere unterkategorien, rewriterule img js ignorieren, follow symbolic selfhtml, \2 conditions\ rewritecond and, rewriteconditions relativer pfad, $(request_uri) an index anhängen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:02 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