Назад | Перейти на главную страницу

Как заставить .htaccess применять все подкаталоги в корне?

$ 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-list, я хочу, чтобы пользователь видел wrongWay.html или Layouts/wrongWay.html потому что режиссер Pictures/A не cotain 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 и как?

Вам необходимо указать правильный локальный URL.

Как определено в вашем файле .htaccess, apache будет искать Pictures/A/index.html затем Pictures/A/wrongWay.html затем Pictures/A/Layouts/wrongWay.html.

Ваше исправление - предоставить подходящий локальный URL-адрес, чтобы apache мог его найти, например. если ваш Layouts каталог находится в http://mysite.com/Layouts затем

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

будет работать так, как вы ожидаете.