$ 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.html
then 。Pictures/A/wrongWay.html
Pictures/A/Layouts/wrongWay.html
您的解决方法是提供合适的本地 URL,以便 apache 可以找到它,例如,如果您的目录Layouts
位于http://mysite.com/Layouts
DirectoryIndex index.html wrongWay.html /Layouts/wrongWay.html
将会如您所期望的那样工作。