我在foo.com
的根目录下有2个域名,bar.com
和.htaccess
以及bar.com
文件,要求bar.com
的所有请求重定向到{ {1}}除了初始搜索目录索引文件,该文件指向foo.com
处的特定php文件(functions.php
)。
这意味着foo.com
或bar.com
的请求会看到www.bar.com
被访问,并且对图片,样式表等的各种请求继续访问重写的相对路径{{1}而不是foo.com/functions.php
。 一切正常。
现在,问题。
我想在foo.com/images/image.jpg
上包含一个不重定向的子目录。同样,foo.com/function.phpimages/image.jpg
的请求进入该目录,所有相关文件请求都正常运行,同时保留原始规则(如上所述),以便在root用户访问bar.com
。目前,如果我尝试访问新的子目录,我会得到404.
在我原来的bar.com/newdirectory/
文件中,我包含了一个松散的代码,用于检查文件是否存在。我尝试添加标记bar.com
以检查目录是否不存在,但这导致请求.htaccess
直接转到!-d
而不是bar.com
当前foo.com
文件:
foo.com/functions.php
答案 0 :(得分:2)
您可以在RewriteBase /
之后添加:
RewriteRule ^newdirectory/? - [L]
对于其他人。无需测试文件,因为您只重定向空URI 您可以使用:
RewriteRule ^$ http://www.foo.com/functions.php [P]
RewriteRule ^(.+) http://www.foo.com/$1 [P]
适用于所有.htaccess
:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^newdirectory/? - [L]
RewriteRule ^$ http://www.foo.com/functions.php [P]
RewriteRule ^(.+) http://www.foo.com/$1 [P]