2014-10-15 2 views
0

У меня есть веб-сайт с общей папкой, в которой я размещаю несколько изображений.Перенаправить все подпапки, но сохранить файлы доступными?

Предположим, что корневая папка является «общедоступной». В этой папке у меня есть другая папка с именем «images». В папке под названием «изображения» у меня есть много папок под названием «1» ... «92345678».

Я хочу создать правило Htaccess, который будет перенаправлять пользователей из папок:

www.website.com/public/images/ 
www.website.com/public/images/1 
www.website.com/public/images/2 
... 
www.website.com/public/images/10000001 

к

www.website.com/public/ 

Пожалуйста, дайте мне вариант, который будет работать для всех вложенных папок. (Рекурсивный)

Я также хочу перенаправить только папки, URL-адреса изображений должны работать!

+0

Как будут загружаться ваши изображения, если запрос направляется на 'www.website.com/public /' в браузере? – anubhava

+0

Итак ... вы хотите перенаправить запросы на эту папку, но оставить запросы на изображения так, как они есть? – amenadiel

+0

Да, это то, что я хочу сделать. Я нашел возможное решение: RewriteRule^[SUBDIRECTORY]/(. *) $/$ 1 [R = 301, NC, L] – Pascut

ответ

2

Вы можете использовать это правило в /public/images/.htaccess файла:

RewriteEngine On 
RewriteBase /public/images/ 

RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule . /public/ [L,R=302] 
+0

Я попробую. – Pascut

+0

@anubhava в соответствии с его вопросом и комментариями, вам нужно будет включить условие проверки папки, поскольку он хочет только перенаправлять папки, а не их содержимое. – Prix

+0

Как добавить условие для переадресации только папок и, например, для отображения изображений? – Pascut

1

Вы должны включить двигатель переписывания, а затем использовать правило перенаправления из URI в том, что начиная с /public/image к /public.

RewriteEngine on 
RewriteRule ^/public/images.* /public 
+0

Я попробую, спасибо. – Pascut

0

Я нашел ответ:

#redirect all subfolders to root and exclude images 
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png)$ [NC] 
RewriteRule ^images/(.*)$/[R=301,NC,L] 

Спасибо Марк Шевченко и анубхава за вашу помощь!

Смежные вопросы