mod_rewrite mit variabler Struktur

Ich habe noch ein wenig herum probiert, aber leider geht es nicht mit der CSS Datei.
Sobald ich in der URL ein "/" einbinde, wird die CSS Datei ausgeschloßen...
 
Hallo!

Nur so eine Idee.
Könnte es evtl. sein dass Apache die CSS-Datei nun in einem falschen Verzeichnis sucht?

Der Verweis zur CSS-Datei besagt ja dass diese im Verzeichnis "styles" ausgehend vom aktuellem Verzeichnis liegt.

Um bei Deinem letztem Beispiel zu bleiben währe die URL also http://www.domain.de/wert1/wert2/styles/style_4.css.

Tatsächlich liegt sie aber wohl in http://www.domain.de/styles/style_4.css.
Demnach würde ich mal versuchen ob es klappt, wenn Du den Verweis zur CSS-Datei in href="../../styles/style_4.css" änderst.

Alternativ würde ich auch versuchen die CSS-Datei mit href="http://www.domain.de/styles/style_4.css" einzubinden, ich weiss jetzt aber nicht ob es so überhaupt erlaubt ist.

Gruss Dr Dau
 
Hallo !

Ja, es lag daran und es hat auch so funktioniert, wie du es gerade gesagt hast. ;)

Ich habe mich wieder auf die Komma-Lösung gestürzt, weil diese einfach "unanfälliger" scheint.

Ich habe nun nur ein Problem mit Zahlen in der URL

Aktuell sieht die ganze Rewrite-Struktur so aus:

Code:
 RewriteEngine    on
 RewriteCond    %{REQUEST_FILENAME}    !-d
 RewriteCond    %{REQUEST_FILENAME}    !-f
 RewriteRule    ^([^/]+),(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?(?:([^,]+))?.html$    /index.php?site=$1&show=$2&id=$3&entry=$4&style=$5&language=$6&filter=$7&session=$8&message=$9    [L]

Die URL, die "nicht" angezeigt werden kann sieht so aus:

Code:
http://www.domain.de/seite,main,1.html

Kann jemand sagen, woran das liegen kann ?

Danke
 
Falls du dein System unter Windows läuft, solltest du dir mithilfe des Regex Coach selbst passende Reguläre Ausdrücker zusammenschustern und nicht für jede kleine Änderung uns fragen. Alternativ kannst du auch jedes andere Hilfsmittel (etwa PHP) nutzen, das Reguläre Ausdrücke verarbeiten kann.
 
Hallo !

Ich bins dann doch noch einmal :)
Ich habe mir den Regex Coach gesaugt und auch ausprobiert. Nur scheint er bei mir Buggy zu sein, da er kaum auf meine Eingaben reagiert.

Zu meinem Problem:

Ich verstehe, dass ihr nicht wegen jedem kleinen Problem eine Antwort schreiben möchtet.
Mein Problem liegt gerade bei dem Punkt, diese Syntax zu verstehen, die du mir da geschrieben hast. Ich weis, dass sie funktioniert. Nur ich würde sie gerne umändern, aber verstehe es nicht ganz.

Ist es irgendwie möglich, dass ich, wenn der wert == 0 ist, der Wert nur einfach nicht angezeigt wird in der URL aber trotzdem übergeben wird als 0 ?

Das ist das einzige Problem, was mich im Moment noch quält.
Eine kleine Erklärung deines Codes währe wirklich super von dir ;)

Danke !
 
Ich kenne mich selbst nicht mit regulären Ausdrücken und/oder mod_rewrite aus, daher kann ich Dir dabei leider auch nicht helfen.

Ich habe mir den Regex Coach auch mal angesehen, komme damit aber genauso wenig klar wie Du.
Mir scheint so, dass man dafür auch die Syntax erstmal verstehen muss.

Da die ganze Sache für mich aber auch nur "just for fun" ist (es als Hobby bzw. Freizeitvergnügen zu bezeichnen, währe schon stark übertrieben) habe ich mich auch nie mit regulären Ausdrücken befasst.
Evtl. hilft Dir ja die PHP-Funktionsreferenz für reguläre Ausdrücke weiter, nur leider ist die Syntaxbeschreibung nicht auf deutsch verfügbar. :(
 
Ich sitze noch immer an einem Weg für meine Lösung :)
Ich habe es mittlerweile auf das Komma gelegt, weil das soweit benutzerfreundlicher erscheint.

Hier der aktuelle Stand.

Code:
 RewriteRule    ^([^,.]+),(?:([^,.]+),)?(?:([^,.]+),)?(?:([^,.]+),)?(?:([^,.]+),)?(?:([^,.]+),)?(?:([^,.]+),)?(?:([^,.]+),)?(?:([^,.]+))?.html$    /index.php?site=$1&show=$2&id=$3&entry=$4language=$5&filter=$4&session=$7&message=$8    [L]

Mein Problem ist es, dass die Positionen der Werte irgendwie nicht immer stimmen.

Code:
Beispiel: http://www.domain.de/seite/news.html

print_r() sagt dazu: Array (     [site] => seite     [show] =>      [id] => news [entry] => language=     [filter] =>      [session] =>      [message] =>  )




Code:
Beispiel 2: http://www.domain.de/seite/news/145.html
Hier ist eine NewsID angehangen, und es funktioniert.

print_r() sagt dazu: Array (     [site] => seite     [show] => news     [id] => 145     [entry] => language=     [filter] =>      [session] =>      [message] =>  )


Irgendwie scheint das ganze übersprungen zu werden, obwohl keine Werte gesetzt wurden ! Bei dem 1. Beispiel ohne ID muss eine Übersichtsseite angezeigt werden. Bei dem mit der ID, die entsprechende KategorieID.

Danke
 
Zurück