2016-04-14 15 views
0

Ich habe folgende RewriteRule Code:RewriteRule funktioniert nicht mit ‚/‘

RewriteEngine on 

RewriteRule ^about$ /about.php [QSA,L,NC] 
RewriteRule ^about/mission$ /about_mission.php [QSA,L,NC] 
RewriteRule ^about/team$ /about_team.php [QSA,L,NC] 
RewriteRule ^about/join-me$ /about_join_me.php [QSA,L,NC] 

auf meinem lokalen Rechner, es funktioniert perfekt, aber auf meinem Server, nur die Seite „über“ (auch angezeigt, wenn Ich navigiere zu/mission ...). Wenn ich wie folgt vorgehen:

RewriteEngine on 

RewriteRule ^about$ /about.php [QSA,L,NC] 
RewriteRule ^about-mission$ /about_mission.php [QSA,L,NC] 
RewriteRule ^about-team$ /about_team.php [QSA,L,NC] 
RewriteRule ^about-join-me$ /about_join_me.php [QSA,L,NC] 

es funktioniert (wenn ich die Mission Seite zeigt bis zu „about-Mission“ navigieren).

Wer hat eine Idee, was könnte falsch sein?

Antwort

1

Fügen Sie diese Multiview deaktivieren:

Options -MultiViews 

Die Apache docs on mod_negotiation, beschreibt, was die Multiviews Option funktioniert, wenn sie aktiviert ist:

Wenn der Server eine Anforderung für/some/dir/foo erhält und/einige/dir/foo ist nicht vorhanden, dann liest der Server das Verzeichnis auf der Suche nach allen Dateien mit dem Namen foo. *, und effektiv fälscht eine Typenkarte, die all diese Dateien nennt, ihnen die Zuordnung gleiche Medientypen und Content-Encodings hätte es wenn der Kunde nach einem von ihnen mit Namen gefragt hätte. Dann wählt die beste Übereinstimmung mit den Anforderungen des Kunden und gibt das Dokument zurück.

Verwandte Themen