不同的.HTACCESS用于不同的文件夹

时间:2014-04-04 13:26:42

标签: php .htaccess url url-rewriting

在为不同的文件夹配置.htaccess时遇到问题。我有下面提到的文件夹结构。

root/
|-- resources/
|-- config/
|-- libraries/
|-- admin/
|    |-- resources/
|    |-- config/
|    |-- libraries/
|    |-- index.php
|    |-- .htaccess
|-- index.php
|-- .htaccess

我需要为root和admin文件夹配置htaceess。我需要来自root的.htaccess来忽略admin文件夹,但是当url有admin文件夹时,它应该使用admin文件夹中的.htacess文件。例如

www.domain.com/person/add
www.domain.com/person/edit/1
www.domain.com/person/view/1

应该使用root中的.htaccess文件。当url具有admin文件夹时,它应该使用admin文件夹中的.htaccess文件。例如

www.domain.com/admin/person/add
www.domain.com/admin/person/edit/1
www.domain.com/admin/person/view/1

以下是我配置的根.htaccess文件。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^(admin)
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

但它对admin文件夹不起作用。如何为root和admin文件夹配置.htaccess文件。

1 个答案:

答案 0 :(得分:1)

这应该适合你,你几乎拥有它:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]