我以这种方式组织了这个项目:
/
这是我的项目根
/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”文件夹中的重定向规则吗?