2016-09-24 117 views
1

这是我的.htaccess:我重写文件夹不起作用

AddDefaultCharset UTF-8 
DefaultLanguage fr-FR 

Options -Indexes 

RewriteEngine on 
RewriteBase/


<Files .htaccess> 
    Order Allow,Deny 
    Deny from all 
</Files> 


RewriteRule ^cle-usb-populaires/$ /top-cle-usb.php [QSA] 
RewriteRule ^informatique/$ /informatique.php [QSA] 
RewriteRule ^cles-usb/$ /informatique.php?groupe=usb [QSA] 

此重写工作

RewriteRule ^cle-usb-populaires/$ /top-cle-usb.php [QSA] 

由此改写为切勿工作

RewriteRule ^informatique/$ /informatique.php [QSA] 

此重写工作

RewriteRule ^cles-usb/$ /informatique.php?groupe=usb [QSA] 

,所以我不明白为什么第一次& 3重写工作,而不是第二个... :(

任何想法?

+0

你在访问什么样的网址?试试这个:'RewriteRule^informatique /?$/informatique.php' – hjpotter92

+0

不行;我的网址是:http://www.example.com/informatique/不工作;网址:http://www.example.com/cles-usb/ WORK; (我在本地,我的网站不在线) – LePetitRobot

回答

1

此重写工作

RewriteRule ^cle-usb-populaires/$ /top-cle-usb.php [QSA] 

由此改写为不工作

RewriteRule ^informatique/$ /informatique.php [QSA] 

这是最有可能是由于选项MultiViews打开。

关掉它使用这条线在你的.htaccess的顶部:

Options -MultiViews 

选项MultiViews(见http://httpd.apache.org/docs/2.4/content-negotiation.html)所使用的Apache's content negotiation modulemod_rewrite之前运行,使文件的Apache服务器匹配扩展。所以如果/file是URL,那么Apache将服务于/file.html

+1

是的,我到处看,我以为我会回答,但你之前回答。无论如何,谢谢你:D – LePetitRobot