忽略htaccess中的文件夹

时间:2016-08-30 19:51:03

标签: php apache .htaccess redirect mod-rewrite

我以这种方式组织了这个项目:
/这是我的项目根
/JUICE/index.php这是一个显示项目的页面,并向我发送了一个指向其文件夹的链接 /JUICE/.htaccess
/JUICE/projects/project01/index.php
/JUICE/projects/project02/index.php
这是我的.htaccess文件:

DirectoryIndex index.php
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]
    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /index.php/
    </IfModule>
</IfModule>

<IfModule mod_headers.c>
    <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
        Header set Cache-Control "max-age=36288000, public"
    </FilesMatch>
    <FilesMatch "\.(js|css|swf)$">
        Header set Cache-Control "max-age=36288000"
    </FilesMatch>
</IfModule>

问题是当页面/JUICE/index.php重定向到/JUICE/projects/project01文件夹并使用<a href="projects/project01">link</a>等链接时,服务器会回复404而不会使用/JUICE/projects/project01/index.php。如果我拨打直接链接/JUICE/projects/project01/index.php,一切正常。

有一种方法可以修改我的.htaccess文件以绕过“projects”文件夹中的重定向规则吗?

0 个答案:

没有答案