zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden mod_rewrite: physisches verzeichnis/ keine dateiendung

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 13.11.2008, 18:19
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 05.11.2008
Beiträge: 10
chOLEk befindet sich auf einem aufstrebenden Ast
Standard [gelöst] mod_rewrite: physisches verzeichnis/ keine dateiendung

Hallo,

nachdem mir beim letzten mal so schnell und gut geholfen wurde, habe ich gleich noch eine Frage.

Der IST-Zustand

Ich leite per mod_rewrite Anfragen der Art example.com/seite auf example.com/index.php?pageid=seite um:

Code:
Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^([^/\.]+)/?$ /index.php?pageid=$1 [L]
Das klappt wunderbar, aber...

Problem 1 - Das Hauptproblem

In meiner Navigation gebe ich Links einfach als
HTML-Code:
<a href="irgendwas">Irgendwas</a>
an. Das klappt aber nur solange kein Verzeichnis mit dem Namen "irgendwas" existiert, denn dann "denkt" der Browser oder wer auch immer zuständig ist, dass der Link das Verzeichnis meint, was zu sehr seltsamen verhalten führt. Anstatt

example.com/irgendwas

wird

example.com/irgendwas/?pageid=irgendwas

angezeigt. Dann sieht man zwar den richtigen Inhalt (was ich schonmal seltsam finde), aber befindet sich natürlich nicht mehr im richtigen Verzeichnis, so dass alle anderen Links nun nicht mehr funktionieren.

Ich habe schon ca. 12 Stunden im Netz gesucht und auch hier im Forum und verschiedenste Lösungen ausprobiert, aber nichts hat geklappt.

Was ich also suche, ist eine RewriteRule oder RewriteCond, die verhindert, dass obiges passiert.

Wie gesagt... ich bin bisher nicht fündig geworden.

Problem 2

Obwohl es jetzt noch nicht akut ist, wird es mich wahrscheinlich eh bald jucken. Wie kann man die Rewrite-Regeln auf das Verzeichnis beschränken, in dem die .htaccess liegt, also alle Unterverzeichnisse ausschließen?


LG chOLEk

Geändert von chOLEk (14.11.2008 um 05:11 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 13.11.2008, 19:28
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.735
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Zum ersten Problem: Verwendest du noch mehr Regeln, die dieses Verhalten erklären könnten?

Zum zweiten Problem: durch das Suchmuster „^([^/]+)$“ gibt es nur eine Übereinstimmung, wenn der URL-Pfad aus nur einem Pfad-Segment besteht.
__________________
Markus Wulftange
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 13.11.2008, 23:58
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 05.11.2008
Beiträge: 10
chOLEk befindet sich auf einem aufstrebenden Ast
Standard

Nein, ich verwende nur die angegebene Regel.

EDIT:

Vielleicht ist mod_rewrite auch nicht das Mittel der Wahl. Der Server scheint ja standardmäßig Anfragen der Art example.com/irgendwas in example.com/irgendwas/ umzuwandeln, was in vielen Fällen sicherlich sinnvoll ist. Kann man ihn (möglichst in der .htaccess) höflichst darum bitten, das zu unterlassen?

EDIT 2:

Im mod_rewrite-Forum gibt es das gleiche Problem: http://www.modrewrite.de/foren/ftopic4988.html (bislang aber auch ohne Lösung.

Geändert von chOLEk (14.11.2008 um 03:46 Uhr) Grund: mir ist da noch was eingefallen...
Mit Zitat antworten
  #4 (permalink)  
Alt 14.11.2008, 05:13
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 05.11.2008
Beiträge: 10
chOLEk befindet sich auf einem aufstrebenden Ast
Standard Die Lösung

Ich hab's! ...nach schier endloser Suche

In der .htaccess habe ich die Zeile

DirectorySlash Off

hinzugefügt. Dadurch wird verhindert das Apache bei der Anfrage

example.com/irgendwas

einen Slash anhängt, wenn das Verzeichnis irgendwas existiert.

Vielen Dank an alle, die sich Gedanken gemacht haben.


Die Moral der Geschicht':
Mit der Qual ist schneller Schluss
wenn man weiß, wonach man suchen muss!
__________________
if (input_kaffee($chOLEk) < $viel) { $arbeitsfaehig = 0; look($chOLEk,tired); }

Geändert von chOLEk (14.11.2008 um 05:16 Uhr)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie sicher ist ein geschütztes Verzeichnis? laborix Offtopic 12 12.02.2010 23:00
bestimmtes Verzeichnis löschen dows Serveradministration und serverseitige Scripte 2 23.07.2009 17:52
Verzeichnis verlinken - Windows Explorer? fabske (X)HTML 2 02.04.2008 13:58
1und1 - subdomain - verzeichnis -url laborix Serveradministration und serverseitige Scripte 3 25.10.2007 18:08
LogIn auf geschütztes Verzeichnis (1 Kunde = 1 Verz.) Kirsten Serveradministration und serverseitige Scripte 4 21.08.2006 13:11


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