为什么我的某些mod_rewrite规则不起作用?

时间:2013-06-16 18:51:51

标签: mod-rewrite apache2

这是我的.htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^es$ index.php?lang=es_ES [L]
RewriteRule ^pt$ index.php?lang=pt_BR [L]
RewriteRule ^en$ index.php?lang=en_US [L]

RewriteRule ^index.php index.php [L]

RewriteRule ^inicio$ index.php [L]
RewriteRule ^nosotros$ us.php [L]
RewriteRule ^portfolio$ portfolio-masonry.php [L]
RewriteRule ^contacto$ contact.php [L]

RewriteRule ^home$ index.php [L]
RewriteRule ^us$ us.php [L]
RewriteRule ^contact$ contact.php [L]

RewriteRule ^proyectos/([0-9]+)-([a-zA-Z0-9-]+)$ portfolio-single.php?id=$1 [NC,L]
RewriteRule ^projects/([0-9]+)-([a-zA-Z0-9-]+)$ portfolio-single.php?id=$1 [NC,L]

</IfModule>

以下是网站:http://testing.fyrastudio.com/WEB_fyrastudio.com/v3/

一切都很好。但是,如果您选择以英语查看该站点,然后单击“关于我们”或“联系”,则服务器将返回404未找到错误。 但根据这两条规则:

RewriteRule ^us$ us.php [L]
RewriteRule ^contact$ contact.php [L]

它应该像网站的其他部分一样工作!

我错过了什么?

由于

1 个答案:

答案 0 :(得分:0)

我不知道为什么以下问题解决了我的问题,但确实如此。关注这个问题:

mod_rewrite not behaving nicely

我禁用了mod_negotiation,一切都开始工作......

如果有人能解释为什么和/或这个模块做了什么,我将不胜感激。