Как перенаправить все подпапки и каталоги в основной корень, кроме файлов? - PullRequest
4 голосов
/ 23 сентября 2011

В основном у меня есть настройка CDN.

/public_html/
index.html

/files/
image/
video/
video2/video2

Я хочу перенаправить ВСЕ подпапки и каталоги в основную папку - кроме расширений файлов, поэтому, если кто-то загружает файл, я хочу его загрузить, чтобы люди не могли просматривать каталоги. (Я не хочу видеть 404 или запрещенное сообщение, просто хочу, чтобы каталог перешел на главную страницу)

Это спасет меня от загрузки перенаправлений index.php. Можно ли это сделать с помощью .htaccess?

1 Ответ

6 голосов
/ 24 сентября 2011
# don't show any files in the folder
IndexIgnore *

ErrorDocument 403 /
ErrorDocument 404 /

RewriteEngine On

# disabled user to access directly to the files folder.
RewriteRule ^files(\/?)$ - [F]

# images
RewriteRule ^image/(.*)\.(jpg|png|jpeg|gif)$ /files/$1.$2 [L]
# video
RewriteRule ^video/(.*)\.(flv|avi|mov)$ /files/$1.$2 [L]
#etc...

Если у вас есть подпапки, (.*) будет автоматически использовать его. Пример:

http://www.domain.com/image/i.png => /files/i.png

http://www.domain.com/image/sub1/sub2/i.png => /files/sub1/sub2/i.png

Вот несколько ссылок, которые вам помогут:

http://www.javascriptkit.com/howto/htaccess.shtml

http://www.htaccess -guide.com /

http://net.tutsplus.com/tutorials/other/the-ultimate-guide-to-htaccess-files/

http://www.bloghash.com/2006/11/beginners-guide-to-htaccess-file-with-examples/

...