如何让.htacess 应用根目录中的所有子目录?

如何让.htacess 应用根目录中的所有子目录?
$ ls
Layouts    Pictures  index.html
$ cat .htaccess
RewriteEngine On

#REDIRECT pages that are not specifically redirected
RewriteCond %{HTTP_HOST} !^www\.mySite\.com$ [NC] 
RewriteRule ^(.*)$ http://www.mySite.com/$1 [R=301,L] 

# Some redirections here

ErrorDocument 404 http://www.mySite.com/
DirectoryIndex index.html wrongWay.html Layouts/wrongWay.html

IndexIgnore *
Options -Indexes
$ ls Pictures
A B C D E F G

如果用户访问Pictures/A/-directory-listing,我希望用户将看到wrongWay.html或,Layouts/wrongWay.html因为目录Pictures/A不包含index.html。我的第零个想法是上面不起作用的 .htaccess。然后,我的第一个想法是,$ find . -type d -exec cp .htaccess '{}' \;但是我还需要$ find . -type d -exec cp Layouts/wrongWay.html '{}' \;$ find . -type d -exec cp Pictures/wrongWay.png '{}' \;——除此之外,我还需要修复一些路径/etc-dummy,重新使用给狗。现在我想要一些简单的方法来实现这一点。看,我在根级别的一个目录中有一个有效的 .htaccess,但现在我只需要一个命令来使其应用所有子目录,哪个 cmd 以及如何?

答案1

您需要提供正确的本地URL。

正如您的 .htaccess 文件中所定义的,apache 将会查找Pictures/A/index.htmlthen 。Pictures/A/wrongWay.htmlPictures/A/Layouts/wrongWay.html

您的解决方法是提供合适的本地 URL,以便 apache 可以找到它,例如,如果您的目录Layouts位于http://mysite.com/Layouts

DirectoryIndex index.html wrongWay.html /Layouts/wrongWay.html

将会如您所期望的那样工作。

相关内容