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

我们有两台服务器,一些内容被移到了我们的旧服务器上,但是,networking上还有一些旧的服务器上的旧目录的链接。

所以,任何网页www.mysite.com/Pages/page.html我需要重写/redirect到www.mysite2.com/Pages/page.html。 因此,如果任何人访问www.mysite.com/Pages目录中的任何文件,他们将获得URL改写为较旧的服务器www.mysite2.com。

我是否以错误的方式去做这件事?

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

如果您正在重写某个特定目录下的所有内容,则可以使用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会更简单。 请记住,Apache进程在运行时连续Redirect和重写指令,所以如果你有很多这样的指令,肯定会影响性能。