2016-04-14 27 views
0

aşağıdaki RewriteRule kodu vardır: benim yerel makinedeRewriteRule '/' ile çalışmıyor

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] 

, bu "hakkında" (bile gösterilir mükemmel çalışıyor, ama benim sunucuda sadece sayfa üzerindeki Ben yaklaşık/göreve giderim ...). Çalışır

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] 

(ı gittiğinizde "hakkında-misyon" misyon sayfası görünür kadar): Ben şu yaparsanız.

Neyin yanlış olabileceğine dair bir fikri olan var mı?

cevap

1

bu MultiViews devre dışı bırakmak için ekleyin: sunucu/some/dir/foo için bir istek aldığında

ise:

Options -MultiViews 

Apache docs on mod_negotiation, etkinleştirildiğinde MultiViews Seçeneği yaptığını tanımlar ve/bazı/dir/foo, değil, daha sonra sunucu, foo. * adlı tüm dosyaları arayan dizini okur ve etkin bir şekilde tüm bu dosyalarının adlarını veren bir tür eşlemini atar. Aynı ortam türleri ve içerik kodlamaları, istemciden bunlardan birini istemesi durumunda olacaktır. Daha sonra , istemcinin gereksinimleriyle en iyi eşleşmeyi seçer ve belgesini döndürür.