php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.)
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) Probleme, Apache mit PHP oder MySQL zum Laufen zu bringen? Anpassung an .htaccess, httpd.conf oder php.ini funktionieren nicht? In diesem Forum könnt ihr eure Erfahrungen austauschen.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-09-2011, 21:13
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard Mod Rewrite Bilder ausschließen

Hallo in die Runde,

ich habe bereits einige Lösungen/Ansätze gefunden wie man Mithilfe von RewriteCond
bestimmte Voraussetzungen an eine nachfolgende Regel bestimmt, leider scheint das bei mir nicht zu funktionieren.

Was will ich machen:
Ich baue meine dynamischen Siteurls auf Statische für SEO optimiert um. Leider habe ich meine Skript/Bildverlinkungen
nicht alle mit "/" davor damals sinnvoll eingebaut. Dadurch wird z.b. aus der

dynamischen URL: http://www.example.com/?path=Baufahr...artikel=123456
eine
statische URL: http://www.example.com/Baufahrzeuge/...,aid123456.php

so weit so gut leider stimmen durch den Unterordner einige Bilder/Script Verlinkungen nicht mehr da das Verzeichnis zum root so halt nicht
mehr gegeben ist...

Nun hab ich mich in einigen Beiträge schlau gemacht wie man so etwas verhindern kann und folgende 2 Möglichkeiten gefunden:
1. RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
(sprich wenn File/Ordner nicht existiert Regel die darauf folgt nicht ausführen)
oder
2. RewriteCond %{REQUEST_FILENAME} !\.(gif|png|jpe?g|css|js)$
(folgende Dateitypen einfach von der Regel die darauf folgt ausschließen)

Beides auch mit %{REQUEST_URI} probiert leider kein Erfolg.

Hier mein ModRewrite:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(gif|png|jpe?g|css|js)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*),aid([^/]*)\.php$ /?path=$1page_titel=$2&id_artikel=$3 [L]

Leider werden ein paar Bilder nicht verlinkt welche es aber 100% in der normalen Verlinkung & auf dem Webspace so auch existieren
alt: http://www.example.com/images/logo.png
nach rewrite: http://www.example.com/Baufahrzeuge/images/logo.png

Könnt ihr mir da weiterhelfen oder ist mein Ansatz komplett falsch?
Bzw. kann es sein das mein Mod Rewrite Optionen auf dem Server einfach nicht unterstützt werden(Virtual Server Managed bei Hosteurope.de)
Vielen Dank im Voraus
Grüße
Tom

Geändert von tomtherock (21-09-2011 um 09:10 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 20-09-2011, 22:55
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Bitte Beitrag anpassen: Verwende keine Domainnamen, die nicht deine sind
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 21-09-2011, 15:32
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Dein Ansatz ist falsch.

Auf dem Server werde die Graphiken im Verzeichnis /Baufahrzeuge/images gesucht, obwohl sie im /images liegen.

Du müsstest also in dem Fall, dass eine Datei z.B. /Baufahrzeuge/images/header.png nicht existiert eine zusätzliche Regel anwenden, die auf /images/header.png umschreibt.

Also fast das Gegenteil von dem was du angedacht hast.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #4 (permalink)  
Alt 21-09-2011, 16:06
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

verstehe dann hab ich rewriteCond wohl falsch verstanden.

Da ich aber mehrer "vorgegaukelte" Verzeichniss verlinke z.b.:

/Baufahrzeuge
/Rennautos
/Schnellbote
usw...

Muss ich für jeden Ordner hierzu eine Regel schreiben? Gibt es da auch einen globalen Ansatz wie man das lößen könnte, wobei hier wahrscheinlich die Gefahr besteht das wenn eine Datei nicht gefunden wird immer z.b. bei Bilder im ROOT/images gesucht/umgeleitet wird und es dadurch zu unerwünschten Ergebnissen führen kann. Oder bin ich da auch auf dem Holzweg.

Grüße
Tom
Mit Zitat antworten
  #5 (permalink)  
Alt 21-09-2011, 16:28
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ja, hast du. mod_rewrite ändert ja nicht den Quelltext deiner Webseite. Das wäre dir aber sicher aufgefallen.

Im Pseudo-Code würde die Anweisung so lauten:
- wenn keine datei mit dem angeforderten Namen/Pfad existiert
- und die angeforderte Datei eine endung gif/jpg/png/... hat
- schreibe um auf /images/{name der datei}

Wie der Verzeichnisname in dem nicht vorhanden Pfad lautet, ist dabei egal.

Ich würde sogar mal überlegen soweit zu gehen und mir eine Datei schreiben die das ganze mit loggt. Dann kannst du die Pfade nach und nach alle anpassen und hast deine Webseite wieder sauber. Wobei, dafür gibts eigentlich tools. Dann könntest du es von Anfang an sauber machen.

Unerwünschte Ergebnisse gibt es in meinen Augen übrigens keine. Ich würde die Regel wie gesagt auf bilder (und scripte) einschränken.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 21-09-2011, 16:28
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also ich hab nun eine Lösung gefunden allerdings nicht wirklich
mit ModRewrite sonder per HTML wie gut das jetzt bzgl. Kompatiblität ist
weiss ich leider noch nicht aber es funktioniert:

HTML
<head>
<base href="http://www.example.de">

Quelle: SELFHTML: HTML/XHTML / HTML-Kopfdaten / Adressbasis und Zielfensterbasis

Macht eigentlich genau das was ich benötige, hätte es allerdings trotzdem
gerne per ModRewrite gelößt um mich in dem Bereich noch zu verbessern

Grüße
Tom
Mit Zitat antworten
  #7 (permalink)  
Alt 21-09-2011, 16:32
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Die baseurl ist definitiv auch ne option.

Aber es spricht ja nichts dagegen, meinen Vorschlag von oben mal zu implementieren. Versuchs einfach mal!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 21-09-2011, 16:39
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja hatte nur gleichzeitig wie du gepostet

Werd auf jedenfall dran bleiben weil ich auch gerade am überlegen
bin ob der googlebot das mit <base> überhaupt kapiert, denn wenn nicht
wäre das eigentlich noch schlechter wie jetzt weil er ein 404 zurück bekommt bei manchen Bildern etc...

die Einschränkung habe ich ja bereits mit RewriteCond denke das passt
muss nur das "!" wegnehmen.

Frage noch gibt es eine Möglichkeit dann nicht das verzeichnis fest anzugeben
wie in deinem Beispiel sondern ihm zu sagen such nicht in:

ROOT/Baufahrzeuge/groß/images/test.jpg

wenn du nichts findest dann such in:
ROOT/Baufahrzeuge/images/test.jpg

wenn du nichts findest dann such in:
ROOT/images/test.jpg

Wäre dann halt super schon dynamisch ohne ständig Anpassung vorzunehmen
Mit Zitat antworten
  #9 (permalink)  
Alt 21-09-2011, 17:08
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Also, die Sumas werden damit schon umgehen können.

Auch deine "dynamischen Abfragen" wären möglich.

ABER:
Du weißt genau, dass KEINER dieser Pfade existiert. Warum solltest du sie also abfragen wollen?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10 (permalink)  
Alt 21-09-2011, 17:14
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja Denkfehler von mir, bin schon ganz verwirrt vor lauter testen .

So mein erster Erfolg:
RewriteRule ^(.*)/images/(.*)\.(gif|png|jpe?g)$ /images/$2 [L]

Dadurch werden die Bilder egal von welche Unter/Unter/Unterordner verfügbar da sie auf ROOT/images verweisen

Jetzt hab ich allerdings noch die feste Angabe /images/ mit drin,
hab keine wirkliche Idee wie dem das beibringen kann mit RewriteCond
( RewriteCond %{REQUEST_URI} !-f )

"wenn du es nicht finden kannst probier es doch erstmal
mit einem Unterverzeichnis weniger !?"

Evtl. ist das ja auch gar nicht möglich, bzw. ich glaub das ich da noch
nicht wirklich durchsteig *schäm* dementsprechend ich muss meine
Verlinkungen in meinem Projekt alle überarbeiten .

Grüße
Tom
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausschließen von Zeichen devas PHP Developer Forum 28 11-12-2007 12:16
Tabellen von einander ausschließen! skalu SQL / Datenbanken 16 29-06-2005 09:48
Bilder aus einer Suche ausschließen jessplug Projekthilfe 4 02-04-2005 22:18
Leerzeichen ausschließen whistler81 PHP Developer Forum 5 21-11-2002 03:29
Duplikate ausschließen whistler81 SQL / Datenbanken 7 17-11-2002 11:43

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:19 Uhr.