2010-03-04 4 views
2

У меня есть следующий файл .htaccess в каталоге:Удалить .htaccess в подкаталог

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^(.*)$ https://www.mysite.com/launch [R,L] 
DirectoryIndex index.html 

В основном, это заставляет любые и все страницы mysite.com/launch к версии SSL в https://www.mysite.com/launch/index.html.

Однако, для одной поддиректории под/запуск я должен иметь возможность разрешать доступ без перенаправления пользователя.

Например, если они перемещаются по адресу www.mysite.com/launch/files/photos, они должны иметь доступ к отдельным файлам внутри каталога/photos.

Использовать другой файл .htaccess внутри каталога/photos, или изменить существующий файл .htaccess в каталоге/launch?

ответ

2

я использовал что-то подобное.

RewriteRule ^(?!intranet/|cv/)(.+)$ somedirname/$1 [L] 
RewriteRUle ^$ somedirname/ [L] 

так, когда mysite.com/intranet называется он переходит в интранет папки или при вызове mysite.com/cv он переходит в папку сорте

, но в этом случае, когда нет подкаталога не называется она заставляет идти в «somedirname»

, конечно, вы можете изменить последний rewriterule to RewriteRule ^(.*)$ к https://www.mysite.com/launch [R,L]

положить другой RewriteRule сверху для проверки его не является каталогом, они могут AcC ESS

так что вы в конечном итоге с чем-то вроде этого:

RewriteCond %{HTTPS} !=on 
RewriteRule ^(?!subdir1/|subdir2/)(.+)$ launch/$1 [L] 
RewriteRule ^(.*)$ https://www.mysite.com/launch [R,L] 
DirectoryIndex index.html 

Теперь www.mysite.com/subdir1 и www.mysite.com/subdir2 можно открыть в браузере

1

Просто добавьте еще один RewriteCond над вашими правилами, например, так:

# Put this above the existing RewriteCond 
RewriteCond %{REQUEST_URI} !launch/files/photos 
... 
Смежные вопросы