2012-06-23 2 views
2

Я читал this и здесь я пытаюсь сделать перенаправление 302 с помощью apache. Я использую по умолчанию Apache поставляется с OSX 10.7:Apache 302 Redirect

Server version: Apache/2.2.21 (Unix) 
Server built: Nov 15 2011 15:12:57 

Я попытался:

Создать .htaccess файл и поместить внутрь:

Redirect temp /old.html http://localhost/new.html 

или

Redirect 302 /old.html http://localhost/new.html 

или

Redirect /old.html http://localhost/new.html 

В httpd.conf изменить следующий раздел (обратите внимание, что в файле конф я вижу также LoadModule alias_module libexec/apache2/mod_alias.so):

<IfModule alias_module> 
    Redirect /old.html http://localhost/new.html 
</IfModule> 

Я остановился/начал несколько раз Apache, но не повезло. Что не так?

Спасибо!

EDIT: Не работает Я имею в виду, что я получаю 404!

+0

делает новый.html существует? – hovanessyan

+0

Что показывает ваш access_log? – Thilo

+0

у вас есть «AllowOverride», указанный где-то в вашем конфиге, возможно, с «none» значением? – hovanessyan

ответ

2
  1. Использование Redirect директива требует, чтобы mod_alias загружен.
  2. Использование Redirect директива внутри .htaccess требует, что не менее FileInfo может быть overridden. Вы должны добавить AllowOverride FileInfo в соответствующий раздел в httpd.conf (их может быть несколько).
  3. Когда вы вносите изменения в httpd.conf, вам необходимо перезапустить Apache. Это, вероятно, главная проблема.
+0

Не решила проблема, которая была на самом деле вызвана неправильным путем, но это наиболее полный ответ. – JoeSlav

1

Найдите следующую строку в файл httpd.conf и изменить его, от

AllowOverride None 

Для

AllowOverride All 
+0

Не имеет значения, к сожалению. – JoeSlav

+1

Возможно, немного слишком много политики, расслабляющей ... –