2013-09-07 11 views
0

На сайте были некоторые каталоги с HTML файлы, такие как:.htaccess переписать каталоги с index.html в подкаталог

site.com/folderone/index.html 
site.com/foldertwo/index.html 

и он был доступен по ссылкам, как:

site.com/folderone 
site.com/foldertwo 

теперь все эти каталоги переехал/старослужащие страницы:

site.com/old-pages/folderone/index.html 
site.com/old-pages/foldertwo/index.html 

но старые ссылки должны быть доступны, так что файл .htaccess:

RewriteEngine on 
RewriteRule ^folde(.*)$ /old-pages/folde$1 [L] 

это переписать правильно site.com/folderone/ и site.com/folderone/index.html

проблема: для site.com/folderone это не переписать, но перенаправлять site.com/old-pages/folderone/

ответ

1

редирект, вероятно, происходит из-за mod_dir и DirectorySlash директивы, которая перенаправляет запросы Fo r директория, в которой отсутствует конечная косая черта, так что существует конечная косая черта. Есть good Причина, почему это происходит, так как есть проблема с раскрытием информации, не имеющая следов косой черты.

Что вы можете сделать, чтобы избежать перенаправления либо отключить его (не рекомендуется):

DirectorySlash Off 

или включать слэш через mod_rewrite, так что оба модуля не будут мешать друг другу за тот же запрос:

RewriteRule ^folder([^/]+)$ /folder$1/ [L,R=301] 

Вы должны добавить, что перед тем, как ваши другие правила перезаписи будут применены в первую очередь. Тогда ваше другое правило должно работать.

+0

Да, второе решение отлично работает. Спасибо! – Litvin

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