重写条件部分匹配导致问题

时间:2012-03-02 15:18:49

标签: .htaccess mod-rewrite expressionengine

我在ExpressionEngine网站根目录的.htaccess文件中有以下重写规则,用于删除网址的index.php部分...

RewriteEngine on 
RewriteCond $1 !^(resources|media|images|js|css|fonts|favicon\.ico|robots\.txt|index\.php) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]

哪个工作正常。

然而,客户端现在想要一个名为“Media Center”的页面,其URL www.domain.com/media-centre被忽略,因为“media”在重写条件中触发匹配。

如何告诉它忽略“媒体”而不是“媒体中心”?

感谢。

1 个答案:

答案 0 :(得分:2)

最后可能会添加$吗?

RewriteCond $1 !^(resources|media|images|js|css|fonts|favicon\.ico|robots\.txt|index\.php)$ [NC]

或者只是明确允许“媒体中心”:

RewriteCond $1 ^(media-centre) [OR]
RewriteCond $1 !^(resources|media|images|js|css|fonts|favicon\.ico|robots\.txt|index\.php) [NC]