.htaccess在子目录中被忽略

时间:2011-07-25 14:50:37

标签: .htaccess subdirectory

我正在尝试从根目录中获取.htaccess文件,但也使用RewriteRule作为子目录。

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_URI} !^/admin/index.php$ [NC]
    RewriteRule ^admin/(.*)$ /admin/index.php?_pd=$1 [QSA,L]
    RewriteRule ^(.*)$ /index.php?_pd=$1 [QSA,L]
</IfModule>

但是在尝试访问/admin/login等时遇到404错误。这种工作方式:

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?_pd=$1 [QSA,L]

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

但不是它应该怎么做。有些东西有用,有些则没有。

1 个答案:

答案 0 :(得分:1)

这实际上是因为我错过了ErrorDocument显然.htaccess,因为admin文件夹中没有包含同一文档,因此不遵守应该遵守的规则,而是试图为我提供该文件。