我的重写规则排除目录有什么问题?

时间:2011-07-24 02:24:23

标签: apache mod-rewrite url-rewriting

这样的根目录:

/index.php
/App
/Extend
/PHPrpc
...

我希望从规则中排除子目录/Extend/Phprpc

旧的.htaccess文件如下:

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

以下内容由我修改:

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(Extend|PHPrpc) - [L]  #exclude directory
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

但我收到500内部服务器错误。

有任何建议吗?

1 个答案:

答案 0 :(得分:3)

如果要排除网址,只需使用RewriteCond过滤它:

RewriteCond %{REQUEST_URI} !^/(Extend|Phprpc)/