使用 Apache 将 http://example.com 重定向到 http://example.com/mylink 的简单方法是什么?

使用 Apache 将 http://example.com 重定向到 http://example.com/mylink 的简单方法是什么?

刚刚开始尝试了解 Apache 下所有指令和选项的工作方式。

我想对我的一个网站进行重定向(服务器上只运行一个网站),这样当请求进入 http:/example.com 时,服务器会自动将其重定向到http://example.com/mylink

我尝试将重定向放入位于 /etc/apache2/sites-enabled 的文件中以重写此内容,但顶级域名 URL 抱怨它没有正确重定向。

我想我想要的是浏览器重定向,并且想到使用

RewriteEngine On
RewriteRule ^/$ /mylink [L,R]

可以工作,但是将其放入 .htaccess 文件中却不起作用(它重定向但立即出现 500 内部服务器错误。)

将其放入 /etc/apache2/sites-enabled 文件中会导致尝试重新启动 Apache 时出现配置错误。

我知道这很简单...但我错过了什么?

答案1

尝试使用 RedirectMatch:

RedirectMatch permanent ^/$ http://mysite.com/mylink

当您需要进行简单的重定向时,它们通常会更容易使用,而当您不希望最终用户看到结果时,重写就会发挥作用。

答案2

您要将其放在站点文件的哪里?这在上下文中应该可以正常工作<VirtualHost>,但在.htaccess文件或<Directory>上下文中则不行(它们需要相对路径,而不是绝对路径)。

再说了,他们也不应该破坏配置或导致 500 错误 - 只是不重定向。应该有一些有趣的东西error.log

当你说它重定向然后500 错误,500 错误出现在“新” URL 上?直接访问该 URL 是否会出现 500 错误,从而避免重定向?

相关内容