.htaccess如果声明?

时间:2011-01-14 16:57:53

标签: php .htaccess

我没有太多与.htaccess合作过。希望做这样的事情:

当用户在domain.com/path中输入时,会从domain.com/index.php/path/to/file

中提取

除非

有人转到domain.com/admin

如何为我不想重定向的几个单词添加异常或if语句?

2 个答案:

答案 0 :(得分:5)

首先为管理员重写一个规则,并在最后使用[L]来告诉.htaccess这是它应遵循的最后一条规则。然后,将其他规则放在其后。

示例:

RewriteRule ^admin(/?)$ - [L]
RewriteRule ^(.*)$ /path/to/file.php?id=$1

在匹配规则后使用-意味着它不会重写它,它只会转到提供的路径。

答案 1 :(得分:0)

您需要添加RewriteCond规则以从重写规则中排除内容。

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^admin
RewriteCond %{REQUEST_URI} !^index.php
RewriteRule ^(.*)$ /index.php/$1 [L]