如果在特定目录中访问,Apache 将重写 URL

如果在特定目录中访问,Apache 将重写 URL

我们有两台服务器,部分内容已移至旧服务器,但网络上仍保留一些指向旧服务器上旧目录的链接。

因此,我需要将 www.mysite.com/Pages/page.html 中的任何页面重写/重定向到 www.mysite2.com/Pages/page.html。因此,如果有人访问 www.mysite.com/Pages 目录中的任何文件,他们都会将 URL 重写到旧服务器 www.mysite2.com。

我是不是用错误的方式处理这个问题?

答案1

如果你使用 Apache,mod_alias文档可能会有所帮助。此模块提供了 Redirect 系列命令。

答案2

如果要重写特定目录下的所有内容,则可以使用以下Redirect指令:

# In httpd.conf for mysite.com
Redirect /Pages http://www.mysite2.com/Pages

这将保留下的所有内容/Pages并将其传递给www.mysite2.com,即 www.mysite.com/Pages/foo.html 将转到 www.mysite2.com/Pages/foo.html。

如果你只重写特定的文件(你说“一些内容已移至我们的旧服务器”),则您必须逐个文件执行此操作。您可以使用相同的指令Redirect,也可以使用mod_rewrite;我认为Redirect这会更简单。请记住,ApacheRedirect在运行时按顺序处理和重写指令,因此如果您有很多指令,这肯定会影响性能。

相关内容