2016-05-10 5 views
1

Я пытаюсь перенаправить пользователя, получающего доступ к моему корневому каталогу в каталоге подкаталога..HTACCESS Переадресовать 301 все файлы из корневого каталога в подкаталог

Я пытаюсь это:

// 301 Перенаправление Весь каталог

RedirectMatch 301 /(.*) /1.0/projects/navigator/$1 

Однако, он не работает, но повторяет путь подкаталог несколько раз:

[my_domain] /1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0 /projects/navigator/1.0/projects/navigator/1.0/projects/navigator/1.0/projects/navigato г/1,0/проекты/навигатор/1.0/проекты/навигатор/1.0/проекты/навигатор/1.0/проекты/навигатор/1.0/проекты/навигатор/1.0/проекты/навигатор/1.0/проекты/навигатор/1.0/проекты/навигатор/

Как это сделать?

Заранее спасибо

+0

Мне также хотелось бы, как правило перезаписи в качестве альтернативы перенаправлению. Thx –

ответ

1

Помещенный происходит некорректно код в корневой директории .htaccess файла

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{REQUEST_URI} !^/1.0/projects/navigator/ 
# the above line will exclude the same sub directory from the rule below so 
# no looping as what happened with you 
RewriteRule ^(.*)$ /1.0/projects/navigator/$1 [R=302,L] 
+0

Это не реальная перенаправка, даже если она меняет URL-адрес в адресной строке; ресурсы, использующие относительные URL-адреса, не работают. Возможно, этого следовало ожидать от перезаписи, но не должно быть случая с перенаправлением. Решающее (невидимое) переписывание было бы наиболее предпочтительным решением. –

+0

Условие www также делает его немного сложным ... –

1

Вы должны исключить путь вы перенаправление на:

RedirectMatch 301 /((?!1.0/projects/navigator).*) /1.0/projects/navigator/$1 

иначе вы получите ошибка переадресации, так как /1.0/projects/navigator/ также соответствует шаблону /(.*) и перенаправляет запрос в одно и то же место назначения несколько раз.

Перед проверкой очистите кеши своего браузера.

+0

На самом деле он не работает, поскольку он по-прежнему зацикливает два последних сегмента (/ projects/navigator /) –

+0

@henrikhansen странно, этот код отлично работает на моем сервере Apache. – starkeen

+0

Очистите кеш браузера. – starkeen

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