在htaccess上重定向域

时间:2016-05-17 20:23:36

标签: .htaccess nginx server

我一直在研究堆栈溢出几个小时,但似乎找不到任何适合我的东西。我不确定它是我的服务器设置还是我面对的是什么。

我有一个网络应用的实时版本和beta测试版本。文件夹结构完全相同。我希望实时和测试版的数据一致。我为此使用相同的MySQL表。有1个图像文件夹,我想将使用我的测试版版本的人重定向到实时版本。例如:

如果有人输入https://beta.example.com/images/ImageName,我希望将其重定向到https://live.example.com/images/ImageName

我认为最好的方法是使用.htaccess,但我愿意接受建议。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

使用Apache,可以使用它建议的.htaccess文件轻松完成。

但是,您的问题标记为nginx。作为一个更加面向性能的服务器nginx喜欢避免像Apache的.htaccess这样的每个目录配置文件。您使用的是Apache还是nginx

以下是Apache的一种基本方法:

  1. 正常配置两个测试版/实时网站。
  2. 在测试版网站的配置(或.htaccess)中,使用匹配的RewriteRule将其重写为实时版本。或者相反。请参阅官方文档中的示例。特别是:From Old to New - Internalsubstitution示例。
  3. 这是一个未经测试的例子:

    RewriteEngine  on
    RewriteRule    "^images(.*)" "https://live.example.com/images$1"
    

    请参阅this page了解nginx的做法。

    我是否正确理解了您的问题?