Apache 302重定向

3

我阅读了这个页面,现在我正在尝试使用Apache进行302重定向。我正在使用默认的Apache版本,它是随OSX 10.7一起发布的:

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,但没有成功。出了什么问题?

谢谢!

编辑:我的意思是我得到了404错误!


你的 access_log 显示了什么? - Thilo
你的配置文件中是否有指定"AllowOverride",可能值为'none'? - hovanessyan
@hovanessyan:是的,我有new.html文件。 - JoeSlav
@Thilo: ::1 - - [24/Jun/2012:10:48:04 +0200] "GET /old.html HTTP/1.1" 404 295 - JoeSlav
@hovanessyan:是的,我在httpd.conf中确实有AllowOverride None。 - JoeSlav
你是否安装了多个Apache?如果是的话,你是否重启了正确的一个?which apachectl命令会给你什么结果? - Thilo
2个回答

3
  1. 使用Redirect指令需要加载mod_alias
  2. .htaccess中使用Redirect指令需要至少可以覆盖FileInfo。您需要在httpd.conf的适当部分中添加AllowOverride FileInfo(可能会有多个)。
  3. 当您更改httpd.conf时,需要重新启动Apache。这可能是主要问题。

没有解决实际上是由于错误路径导致的问题,但这是最全面的答案。 - JoeSlav

1
在您的httpd.conf文件中找到以下行并更改它,从:
AllowOverride None

AllowOverride All

很遗憾,这没有任何区别。 - JoeSlav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接